Part 1 of supporting Proguard
 - parse proguard map files into a horrible mapping structure
 - introduce a Name type that can represent names and how they differ in the source and the obfuscated binary
 - loads of stuff for creating type descriptors from various syntaxes.
Part 1b of supporting Proguard
 - sneaking a Name type into ParsedMethod
 - ParsedMethod has a reference to the ParsedClass that owns it
Part 2 of supporting Proguard
 - distinguish between names inSource and atRuntime in the Name class and refer to those directly from the template
Part 2 of supporting Proguard
 - use ParsedClass.className directly from the template
supporting Proguard cont...
 - introduce a new test hierarchy for testing a proguarded codebase
 - introduce a Codebase type
 - introduce a command-line parameter to specify the proguard map file

NOTE - the Proguard tests are still not working
supporting Proguard cont...
 - genericalised Name to Obfuscatable<String> so we can start having Obfuscatable<Method>s

NOTE - the Proguard tests are still not working
supporting Proguard cont...
 - move creation of ParsedMethods around a bit

NOTE - the Proguard tests are still not working
supporting Proguard cont...
 - add some Obfuscation

NOTE - the Proguard tests are still not working
supporting Proguard cont...
 - start obfuscating the parsed class

NOTE - the Proguard tests are still not working
supporting Proguard cont...
 - used Obfuscatable<Method> in parsed method and make the template use it

NOTE - the Proguard tests are still not working
supporting Proguard cont...
 - added some more methods to the native/callback classes that take & return object parameters that will be obfuscated by proguard
 - regenerate the proguard map file with the "keep native" flag off, as no native code was being obfuscated!

NOTE - the Proguard tests are still not working
supporting Proguard cont...
 - change the proguard test to enable the proguard feature
 - re-ran proguard including the new native functions (error reporting still a bit poor when classes don't exist in the map file)
 - approve the output.