Add choice fields
I know there has been a couple attempts on making a form field for this library, including a very recent one by GigiusB, and a couple older ones by lancondrej and ChandlerBent.
This PR implements a slightly different requirement than those, in that this adds a RelativeDeltaChoiceField form field that uses <select> widget to pick from a list of predetermined durations instead of a free field arbitrary durations.
Thank you for reviewing my PR.
when there aren't any choices in a relativedeltafield. Where's the code that makes this happen? It just handles it by default?
When the model field isn't restricted by choices, editing still won't work as previously. I expect that GigiusB will be implementing that part, so I didn't do anything there. Functionality-wise, this PR doesn't actually overlap much with @GigiusB's or the other PRs (except for the general theme of editing). GigiusB's PR implements editing of unrestricted duration field (or when restricted only by validators), my PR doesn't do anything for editing unrestricted duration field.
My PR only implements admin editing and ModelForm generation when the field has choices, in this situation Django uses a <select> field rather than <input> field:

Given that forms.CharField and forms.ChoiceField works very differently anyway and the bulk of RelativeDeltaChoiceField is just calling pre-existing functions (parse_relativedelta/format_relativedelta), I don't expect there would be much in common between my PR and GigiusB's.