Added documentation for how to resolve references

This also is easier when you use the UriRetriever object, so adding that too.
Use a generic UriRetriever instead of an interface

This is because resolving a URL and retrieving it would have been code that
got duplicated.  Instead, this code is consolidated in UriRetriever.
Adding support for file:// URIs
Letting file:// URIs work
Updating tests to use UriRetriever instead of the interface
Initial commit
Initial commit - pulled code out of Constraint

This is so the retrieval of schemas can be used by things outside of the
Constraint objects, like the upcoming $ref support.
$ref support to fill out a schema before validation

This is not intended to be used during validation - instead it will find
all $ref entries in supported locations and replace them with the filled
out JSON schema to which the $ref pointed.
Removing bugs - I actually tested it this time
Fixing comment - missed a parameter
New test for ref resolver
Adding a couple tests for #4
Merge pull request #26 from netresearch/master

Add validate-json CLI script
Support for date-time with timezone without ":" (also allowed by ISO 8601)
Merge pull request #28 from paranoiq/master

Support for ISO date-time with timezone offset without ":" separator
Merge branch 'master' into ref
Allowing use of / in patterns
Merge branch 'master' into ref
Merge pull request #30 from fidian/master

Allow / in patterns
Merge pull request #31 from fidian/ref

$ref support as a sort of preprocessor