As discussed in
FLINK-3002. It would be nice if we could make custom type integration easier by defining an interface/static method that classes can implement to create their own type information. That gives users an easy extension point.
Custom integrated types need to be checked in `getForObject`, `getForClass` and `validateInput`. If we also want to support custom integrated types with generics `createTypeInfoWithTypeHierarchy` needs modifications, too.