Speed-up generation of Compiled type names

Significantly decreases the "Generating type extensions" processing time.

@alfonsogarciacaro: 
Alfonso, I hope this helps with #117. On my computer this change reduces the "Generating type extensions" for  lib.d.ts from 15s to about 2s. This,  in conjunction with the fact that binding.lib.dll is not re-generated if present in the output directory should make generating a small number of target assemblies much faster.
Let me know how it works for you.

@ZachBray: I've used a mutable Dictionary to speed things up and eliminate recursion. This results in a slight change in the compiled names: 
* type counter is now per-original-type:
  * there is no longer a need to consider conflicts between types named *abc12* and types named *abc123*
  * types named *abc12* become *abc12_n*, while types named *abc123* become *abc123_m*, where *n* and *m* get incremented on a per-type basis. 

I've re-run the assembly generation and I am not seeing any ill effects.