Teach ninja to handle output directories outside the source dir.
Currently, ninja only works when the output directory is a subdirectory
of the source dir, and all of the tests that test this behavior are disabled
for ninja. This patch fixes ninja to calculate the path to the output
directory correctly even when it is in a different location.
To test this bug fix, I've re-enabled six tests that test this behavior.
These tests all fail prior to this change. I've also added a new test for
TEST=Run all unit tests. Test full builds of Chrome using ninja and make
on several platforms.