Add description property to JsonSchema
Add equals() and hashCode() to ErrorMessage

This is useful for other tests
Add isAcceptableType() to all JsonSchema implementations
Initial implementation of UnionSchema

UnionSchema represents a union of potential schemas. A
json document is valid if any of the potential schemas match
the document.