Make doctests pass too
Remove from_dict constructor

Remove the inelegant from_dict() constructor. The standard constructor
now accepts a dict as a first positional argument. Any keyword arguments
will override values in the dict.
break fields into a package
split field tests
relocate complex fields
add test cases for string conversion in CharField

Now converts dates, datetimes, booleans, and numbers.
implement basic ListField
replace FieldCollectionField with ListField

Replaced the original FieldCollectionField with the more flexible
ListField. Type checking is optional with ListField, and it has a much
more pleasant name.
add DictField
eliminate json dependency
clean up some model-level trash

Eliminated the ModelCollectionField, as it should be redundant with the
new ListField once ModelField works correctly. Reworked several methods
on Model itself, more to come.
rename BaseField to Field
test basic Model behavior