Subninja chdir: parse and load declarations
This builds on the previous CL to implement the parsing of
a subninja chdir, then loading the .ninja file in the
chdir. Note the order of the steps:
1. The subninja chdir is fully parsed in the parent
2. The subninja file is loaded into memory
3. The chdir() is performed
4. LoadManifestTree() is called
5. The current dir is restored like it was
This CL does not implement all the changes to be able to set
parent edges pointing at the subninja.
Change-Id: I7d75f72b252b8f60a6d2d7cec763a879e2c705be
9 files changed