Give some structure to the model-core classes.
Make inputs be based on ModelEntry objects instead of just the instance.
Allow for model creation rules to declare parameterised types.

There's no real intelligent handling of compatibility when trying to use these types as inputs (e.g. contravariance).
change JCenter integration to use HTTPS
tweak jcenter https docs
fix regression GRADLE-3116 by reverting changes on GroovyRuntime; add integration test;
Fix sample in IdeaProject documentation.
Removing unnecessary annotations from tests
Extracted plugin to assist with migration to model rules

- ComponentModelBasePlugin now has source set defaults which are incompatible with legacy java plugin
- Fixes building gradle with latest gradle with JDK 1.8
Imports fix
set build to use nightly