Use getTypeFactory instead of defaultInstance for Jackson deserialization

When getting the JavaType instance for deserialization with Jackson `objectMapper.getTypeFactory` should be used instead of `TypeFactory.defaultInstance` to make sure that any modules installed on the `ObjectMapper` instance are used when constructing the type.

I'm using Retrofit from Scala and initially thought this was a bug in the jackson-module-scala but after logging a bug there (https://github.com/FasterXML/jackson-module-scala/issues/107) and having a discussion with the maintainer I concluded that the use of `defaultInstance` in the `JacksonConverter` was the cause of the issues I was seeing.