Cleanup typeCache in MappingContext

The typeCache in MappingContext was never cleaned. This results in old objects being reused in later mappings. Also, the uniqueIndex in Type is not so unique, because it's always 0. nextUniqueIndex should have been static.