These changes are useful if we want to use TypeLITE for code-bases we cannot change.
If we have libraries we can't change or if we don't want to insert external libraries or attributes to the business logic, we can just add an interface class and customise TypeLITE's behaviour (using the TypeScriptFluent, or directly through the model classes).
Added an option to use a predicate to determine if a member should be ignored,
instead of an attribute.
Added an option to write enums as a union of strings instead of enums.
Added support in mapping types to custom serialization types.
Added an option to serialize dictionaries as classes instead of collections,
as an IDictionary where the keys are string.
Bug fix: TsProperty.ctor(FieldInfo) should call GetField and not GetProperty.