Implement JsonNode equivalence using Guava's Equivalence

This is a far better way to achieve JSON Schema value equality than to provide
our own implementations of NumericNode, ObjectNode and ArrayNode.

Far from perfect on the hashCode side, though.

Include tests with numeric nodes.

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>
EnumSyntaxChecker: use the new equivalence

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>
EnumKeywordValidator: use the new equivalence

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>
UniqueItemsKeywordValidator: use the new equivalence

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>
JacksonUtils: provide a node factory, a mapper and an empty object node
Replace all usages of CustomJsonNodeFactory with JacksonUtils' new methods

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>
Get rid of CustomJsonNodeFactory and associated classes

This is more reliable this way. Much more reliable.

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

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