GRADLE-2066: Extract PluginAware interface out of Project.
GRADLE-2066 Added basic plugin support for Settings

- Resuse AbstractPluginAware as super class for BasicSettings
- handed ServiceRegistryFactory down to Settings instance
- loading plugincontainer and fileresolver from serviceregistry is lazy because fileresolver cannot be resolved
until projectDir (in AbstractProject) and settingsdir (in BaseSettings) is set;
- current implementation creates ProjectInternalServiceFactory twice for a Project (in AbstractProject and in AbstractPluginAware)