Transitive lib deps && PCH chaining test

Added CppProject.linkLibraries, which contains the
exported libraryPath and all transitive library dependencies.
binutils ld requires these to be topologically sorted
from most-dependent to least-dependent, and recursively
aggregating linkLibraries across modules handles this.

Also added a PCH chaining test.  Library a2 exports a PCH
in addition to a library.
This unveiled a deficiency in the MSVC toolchain driver; a
workaround is in place for now.
GCC (mingw) appears to be handled correctly.