Raise ValidationError if field is made required with no default set 

If a field is made required, the user is warned to set a default value in the ``_migrate`` method.

Also adds some migration tests.

NOTE: `test_making_field_required` is expected to fail until #57 is resolved.