Don't inject GP's classpath into that of builds, and autotrigger build.update if GP.updated

I've reverted Mark's commit from a long time ago, where the GP's classpath was being injected into every build.
Then I re-added his scripted test, where he was checking that the GP's dep overrides a build's dep despite being an older version (now deemed incorrect), and changed it to verify that the project's dep in fact overrides the GP's dep.
There should be no more duplicate dependencies of the same module, because each build does an ivy update, taking the GP's dependencies into consideration, when deciding what ends up on its classpath.

Also, since @8cb7e23 was meant to fix #272, here I'm tackling the real issue behind #272, which was that a build's update would not be triggered when the GP was updated.
With the last commit, I do just that - if the GP's `UpdateReport` (which I inject into all builds) was not cached, it means it was modified, so I use that to trigger an update of the build itself. That will then use the Ivy dependency on the GP to deduce the correct classpath for the build.