Moved all includePaths and defines into emits.

CppProject now has an includePaths attribute, which is added
to all tasks.
Now projects can be greatly simplified.
generate step is now tolerant of removed project

Previously, if you removed (or renamed) a project file like a.py,
ninja would produce an error
  ninja: error: 'a.py' needed by '.../file.cpp.o.rsp', missing and no known rule to make it

Marking all project files (and other build inputs) as phony targets fixes this problem.
This solution matches CMake as well.
  https://groups.google.com/forum/#!topic/ninja-build/aXkhxZ_oXcw