Implement deserialization for DateTime, Fixed, and Price fields

DateTime implementation is incomplete (doesn't handle timezones)
Also add test stubs
Add ForcedError
Large refactor of the Fields interface

- Concrete classes define _serialize and _deserialize.
- Remove @validated decorator. Validation occurs with the within the
  output and deserialize methods of a field.
Update Field interface
Rename Field#format -> Field#_format
Update changelog
Update docs
Merge branch 'refactor' into deserialization
Document _format, _serialize, and _deserialize

Also implement Enum field deserialization
Rename CHECK_NONE -> _CHECK_REQUIRED

Also implement Email field deserialization
Test reorganization
Remove unnecessary hasattr and getattr
Update docs and add test stub