Actually check that value is not `None` when field is marked required
Distinction between missing fields and fields with `None` value

I noticed that required=True was never actually checked on the field level
but only in the Model.validate function. I think this is the wrong behavior,
and indeed there was a unit test for this but it never errored because the
error raised was not for the required param but min_length in types.String.

This bubbled up into a small refactoring and rethink on how we treat None
values. I have verified that the quizup-server test suite runs.
Translations