Fixed #13181 -- Added support for callable choices to forms.ChoiceField

The code comes from https://code.djangoproject.com/attachment/ticket/13181/with_callable_choice_iterator.diff by vanschelven.

This addresses https://code.djangoproject.com/ticket/13181.
@vanschelven or @expleo -- any input on this issue? Seems you two may have looked into it a bit from your previous work on the patch.