Extend mock naming to mock names of classes, in addition to instances.
Use C# code provider to get clean simple type names in tricky cases (i.e. generics)