Typo
Add required_fields option to Meta

The first step is adding support for required fields is to add an option to the `Meta` class. The option defaults to `None` but can be set to either a single field or a list (or tuple) of fields. If a single field is provided, it will be converted to a tuple so that all `_meta.required_fields` are treated the same.

References #2
Check for required fields

This implements the `Meta.required_fields` option added in 6c88301. It is supported by the `create()`, `save()`, and `remove_fields()` methods.

This code can probably be moved to a separate method, but that will be tackled as part of a larger refactor.

References #2
Document required_fields

This adds a `required_fields` section to the documentation for the `Meta` class.

Closes #2