fix Issue 3404 - JSON output should retain original alias names
Merge pull request #1515 from WalterBright/b18

fix Issue 3404 - JSON output should retain original alias names
fix Issue 3466 - Wrong JSON output for templated classes, structs, and interfaces
Merge pull request #1517 from WalterBright/b19

fix Issue 3466 - Wrong JSON output for templated classes, structs, and i...
fix Issue 4178 - destructor missing in JSON output
Merge pull request #1518 from WalterBright/b20

fix Issue 4178 - destructor missing in JSON output
json refactoring
Merge pull request #1522 from WalterBright/b21

json refactoring