Run json-schema.org's common test suite
Init/update submodule as required
Switch to inferior indent scheme
Display *why* a common-test-suite test failed

This is good, because it's easier to debug a problem if you know *why*
there's a problem.
Made validation sub errors indicate where they come from

When using anyof or allof in a schema, all of the validation errors for
all of the subschemas are shown in a flat list - all concatenated
together. This makes it very hard (or impossible) to see where in the
schema individual errors come from, and makes it hard to debug the
errors in your json.

This change groups subschema errors together, according to which schema
they appeared under.
Made subschema errors use the attribute type in their key

Feels more general, and easier to understand
Added tests around subschema error messages
Do not compact before checking minItems

Fixes #129
Skip tests that we know fail, rather than not defining them

As suggested by @pd.
Extract format validation into custom classes
Define available formats in drafts
Adjust Draft4 tests according to predefined format keywords
Ensure correct order of requires
First prototype for custom format validation
load custom format error in custom format attribute file
Test type conformity in format base class
Improve error message for custom formats
Refactor custom format registration
Move data validity check into attribute class
Enable deregistration of custom format validators