JSON output improvements

I have made many modifications to the JSON info generation built into DMD so that it produces nicely formatted json as well as a lot more information than it use to. There are still several things that I would like added to it, such as more detail on selective imports and import renaming, but I'm not sure how to get that information.

This should fix the following bugs:
http://d.puremagic.com/issues/show_bug.cgi?id=3404
http://d.puremagic.com/issues/show_bug.cgi?id=3466
http://d.puremagic.com/issues/show_bug.cgi?id=4178
http://d.puremagic.com/issues/show_bug.cgi?id=4194
http://d.puremagic.com/issues/show_bug.cgi?id=4477
http://d.puremagic.com/issues/show_bug.cgi?id=4478 (partial)


This replaces #813