Some changes to more accurately reflect what we know about a Gradle project for target Gradle versions < 1.0-m5.

- Changed DefaultGradleProject so that it no longer implements the client tooling API interfaces.
- Split out a partial model to reflect what we know from the older versions, to give the right kind of exception when attempting to use stuff that isn't known.