Fixes issue #150. No illegal field exception on validate(strict=True)

If `_initial` is defined on the `cls` object passed to
`_check_for_unknown_fields`, the fields are also considered when
validating.  This depends on if the object is a `Model` class or
an instance of a `Model` class.

The try/except clause in `test_validate_strict_with_context_data`
caused the test to always pass successfully even though it should
expect an exception.

Added a second test to test for additional fields when validating
a class or validating an instance of that class.