Merge pull request #92 from Talksum/master

fix for ujson
Fixing the import statements for `Model` in README

The base class for models is called `Model` but in the README it was
referred to as `Document` and `model`. These are now fixed.
Merge pull request #93 from dfm/master

Fix references to the `Model` class in the README
Fix #94, passthrough all args/kwargs to json.dumps
Fix incorrect cached method name for json.dumps
Corrected StringField > StringType
Merge pull request #96 from droptype/master

Minor correction to README
Merge pull request #95 from jbeluch/json-fix

Fix json bug introduced in commit a5cf70551e75bf30384aa805b15492ca7f6df0
expanding comments
Heavy reworking of the metaclass system.

The concept of a Mixin has been removed.  It is replaced instead with simple inheritance.  The concept of a Mixin in previous releases pertained to how the serialization of the class structure was represented.  That component of the system has been removed as it has not proven to be useful.

The class used to configure the meta system is has been renamed from 'Meta' to 'Options'.  This name is what users of the framework use to configure their Models, so calling it 'Options' seems more informative.

The fields `_public_fields` and `_private_fields` are now on the Options class, which now also sets them to be instance level variables instead of class level variables.  I think this will make some folks out there quite happy.  :)
Finally removed _id. If you want an id field named _id, just put it on the model.
Updated demos to use new meta class config
Completely removed the SafeableMixin in favorr of just having functions. Some
of the code had	   to be reworked to handle recursion properly, but the changes
are fairly straight forward. (Take a look!)

Also updated the demos to use the new system.
Moved the make_safe functions into a module called `filters` and updated the
demos accordingly.

I am not sure about this name yet, but I wanted to move the functions outside
of `models`.
Moved the to_python and to_json functions into the serlialize module.  The serialize module is also in this commit. It simply renames the old filter module, which was a bad name. This commit includes an update to many tests too.
Renamed `shape` to be `apply_shape`.
Moved all the json schema functions over to serialize too
Moved all of the validation functions into their own module.  This now separates
the class, which controls the structure of a model, from virtually all of the functions
that operate on it.  I am STOKED on this.

The names of the validation functions, and also the serialization functions, are
obviously bad.  They *were* bad, but it's ugly now.  That will be fixed soon so
look out for that in future commits.
was chmod 755 for some reason
accept some strings as boolean