Precompiles is_host_name regex.
Merge pull request #127 from taavi/master

Precompiles is_host_name regex.
This allows defining custom types
Merge pull request #129 from sontek/handle_non_string_types

Allow non-string custom types (arbitrary objects).
Clean up the output when an unknow type is found
Cleaned up output
Use pretty formatting
Better Py2/3 support
Release v2.2.0
Bump version.
Merge remote-tracking branch 'sontek/give_better_error_output'

* sontek/give_better_error_output:
  Better Py2/3 support
  Use pretty formatting
  Cleaned up output
  Clean up the output when an unknow type is found
Flake8.
Try to be as unconfusing as possible since is_type can be called outside validation.
Pretty!
These should be URIs, not URI references.

Closes #131
Squashed 'json/' changes from b6f129e..468fa78

468fa78 Add a test for valid URI reference, but invalid URI (which is not valid overall).

git-subtree-dir: json
git-subtree-split: 468fa788ca2053a69815c43abc500e044086120c
Merge commit '5f8aae8efc5a92c4b5f8c631f51c8b04a7141ea3'

* commit '5f8aae8efc5a92c4b5f8c631f51c8b04a7141ea3':
  Squashed 'json/' changes from b6f129e..468fa78
Sort errors based on their paths.
Initial stab at best_match.
Use ._contents in create_from