Custom ObjectMapper

Previously mapping from String to Jackson types and Jackson types to
output types was done via an instance of ObjectMapper that was created
using the default constructor.  This prevented the use of an
ObjectMapper that was configured with non-standard type serializers
and deserializers. This change adds methods to the JsonPath class that
allow the user to pass in a custom configured ObjectMappers.