Make JsonSchema an interface

We will separate the case where initial loading of the schema fails.

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>
Create a MissingJsonSchema for unresolvable content

The API is currently inconsistent: an exception is thrown if the URI cannot be
dereferenced, but a (failing) JsonSchema will be returned if fragment resolution
fails.

The API really needs to change.

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>