Use separate obj directory per project.

The buildtools were overriding the intermediate path to be the same for every
project. This causes issues because not all intermediate files have unique
names. In particular, incremental or parallel builds could silently put the
resources from a different project in to an assembly!