Added type mapping framework

#22
Added type substitution

This will allow explicit substitution for testing generic classes. #22
Added example test for a generic class

#22 #1
Merge pull request #23 from JSkimming/TypeMapping

Type mapping and substitution