Don't attempt to run tooling API build actions against Gradle versions that don't support it.
Ship the client's build action across to the provider.
Added a (rough) mechanism for plugins to contribute global services.
Changed the tooling API provider so that it runs an action in the daemon when the client provides a build action. Doesn't run the provided action, just runs a dummy for now.
Moved class from main to test source dir, as it is only used by tests now.
Some javadocs.
Removed some unused mocks.
Moved the various scope service registries to live together in a package.
Added @Nullable in a few places.
Moved another registry to live with the others.
Some renames.
Don't blow up when this daemon's address has been removed from the registry by some other process.
Some renames and a couple of tidy-ups in the daemon client.
Changed DaemonClientConnection to treat the daemon address as suspect only until something has been received on the connection.
Don't try to start any more daemons if we failed to use a daemon that we just started.
Fixed broken cross version test.
Made action serializable so that it can be pushed across to the daemon.
Further separation of 'legacy' ivy compatibility code from the rest

- Split legacy RepositoryCacheManager (and impls) from RepositoryArtifactCache
- Moved legacy cache code together with custom dependency resolver wrapper into a separate package
Introduced GradleParserSettings to use instead of ivy type when parsing

- Ivy ParserSettings is still used in parsing with legacy resolvers
- Removed all extraneous methods to clarify the requirements of gradle metadata parsers
Removed most of the uses of IvySettings in metadata file parsing

- Still use IvySettings to get top-level resolver (e.g. for resolving parent POM)
- Removed namespace functionality that requires setting namespace values on IvySettings
- Implemented a fixed set of ivy PatternMatchers to use with ivy excludes
- Only substitute System properties into ivy.xml files (no custom ivy variables are taken from settings)