Split apart various target type code.

This splits apart the "generators" that fill the Target objects from script, and the "writers" that write the .ninja files. These now have different objects and files for the basic target types. The result is that it looks like much
more stuff due to the extra files, but it should be easier to follow what's happening and to make additions in the future.

Remove some extra loadable module stuff I missed in the previous removal.

Adds more support for the Linux build. Not everything is working yet, but most of base compiles.

This actually writes .ninja files and targets for "group" types, and removes the "none" target type which this mapped to before. This way you can make a target group and actually compile that set of stuff by typing its name.

BUG=
[email protected]

Review URL: https://codereview.chromium.org/22488015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217279 0039d316-1c4b-4281-b951-d872f2087c98
41 files changed