added IPv4Type feature from ryanolson/schematics with test cases
Changed assert into an if
Overhaul of the list type field for correct handling of list types with multiple types inside the list
Removed prints
Merge branch 'master' of github.com:j2labs/schematics
Most of the plumbing of the jsonschema stuff is in place. There are some output issues remaining to be solved, which shows in 11 failing tests.
Removed unused function.
All tests are passing!
Fixed bug in validating compounding structures
Removed two hacky functions leftover from when the schematics design was less clear.
Merge pull request #111 from ryanolson/ipv4

Added IPv4Type from ryanolson/schematics with test cases
Merge pull request #110 from exitio/master

Be more liberal in which inputs we accept, be more concrete about what require=True means.
Updating demo for clarity
This commit represents the move back to Exceptions.

@jokull created a bunch of these ideas and I am bringing them over.  His name
is unforunately not present in the commits because the work was not done in
commits that isolated the idea.

The general idea is that exceptions are thrown anytime validation errors occur.
Types themselves return true or false, making it possible to validate data against
defined types without exceptions, but validation at the model layer will actually
throw exceptions.

Please check both the tests and the demos for examples of how this system now
works.  In short, your code will look like this:

    p = Person(name='James')
    try:
        validate_instance(p)
    except ValidationError, ve:
        print ve

Changes to the validation system itself are also forthcoming so make sure to
follow up with commits after this one for more of the story of @jokull's great
work coming back into Schematics.
Cleaning up the code a little bit. Make sure to notice that __eq__ on the model now treats id like any other field in the model.
Added @jokull's definition of get() to the Model class.
Removed BaseModel in favor of just putting everything under Model
Removed unnecessary import of BaseModel, which was removed
Brought over the features I liked from @jokull's FieldDescriptor class over into
the BaseType.

The FieldDescriptor class is a cool idea, but I struggle to see it's value next
to BaseType when they are performing similar roles.  I prefer to leverage an OO
hierachy to get to the same place.
Following @jokull's lead on some idea for cleaning up the metaclass system.