Fixed bug in ChoiceField, it is possible to submit 0 as value when it is not in choices

Since we check just for bool(value) and bool(0) is False, it doesn't perform validation even when required=True. required=True logic checks value for existing in django core EMPTY_VALUES list, but 0 is not in it, which is logical. But in validate of ChoiseField, we should do "if value is provided and it is not empty(None, [], {}), perform validation".

Tom, it is critical, please, take a look :(