If field is required and empty, then set error

(pulled from st4lk's repo. The other commit seemed extraneous)
Handle fields which aren't provided gracefully.
Handle fields which aren't provided gracefully.
Merge branch 'master' of github.com:exitio/schematics
..With tests
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.
merged upstream commits
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.