Prevent problems fixed in #987 and #1028 from being reintroduced

See the commit comment for a description of the changes.

Some further details:

The tests use Gradle 1.6 (it's determined by the version specified in `spring-boot-dependencies`). They use Gradle's tooling API which will automatically download the required version of Gradle if it's not already in `~/.gradle`. They purposefully use the tooling in embedded mode to avoid messing around with the daemon.

Can someone please cast a critical eye over the changes. In particular, I'm not sure about the tests being in `spring-boot-integration-tests` but it seemed like a somewhat logical place for them. The key thing is that they rely upon all of the starters having already been built and installed into the local Maven repository.