Introduce build-setup plugin
- extracted maven2Gradle related classes from maven project into buildSetup project
- introduce more generic setupBuild task
- add wrapper task as a depenency to the setupBuild lifecycle task
add more integTest coverage for build-setup plugin
add buildSetup to pluginProjects.
Tweak formatting in spec
Reworked WrapperConcurrentDownloadTest so that it runs real wrapper processes.
- Changed wrapper install so that the lock is held while checking if the distribution has already been downloaded, to handle the case where another process is currently unzipping the distribution.
- Don't release the lock until after downloading and unzipping the distribution, to avoid multiple processes downloading the same distribution.
- Don't delete the lock file when releasing the lock, to handle the case where another process is currently trying to acquire the lock.
First cut at implementation of the incremental task api
- Incremental task has TaskAction method that takes TaskExecutionContext as parameter (need a better name for this)
- TaskExecutionContext indicates rebuild/incremental, and runs action for all input file changes
    - 'rebuild' context indicates that something has changed that prevents incremental build: changed property, changed output file, etc
    - 'incremental' context indicates that only input files have changed, and runs action only for changes
- This implementation is very much a work-in-progress
Refactor and cleanup change detection so it works better with incremental tasks
- Change the UpdateRule and TaskStateChange api so they no longer deal in String messages, but in change objects
    - Change the 'rule' implementations  so they are just static factories for TaskUpToDateState.
    - Don't use a composite UpToDateRule, but instead keep the various UpToDateState instances separate,
      to allow them to be independently reused.
- Do the regular 'skip' check for incremental tasks, and reuse the state to determine if the task context should
  be a 'rebuild'
- Removed the TaskExecutionState and HistoricExecution abstractions from DefaultTaskArtifactStateRepository: they
  were just getting in the way.
Checkstyle & doc fixes
unit test fixes
Fix test so that it doesn't depend on file iteration order
Fleshed out some stories in the incremental build spec.
Fleshed out story a little more.
- Allow autoapply of build-setup plugin
- minor package reorganisation
fix GRADLE-2691 (PR from Pete); fix some formatting of generated build.gradle.
deprecated `groovy` configuration

- log deprecation warning whenever a dependency is added to the configuration
- eliminated use of `groovy` configuration from all tests and samples
- adapted default build script for buildSrc
attempt for temporary test fix
improved deprecation message for `groovy` configuration
docs updates related to deprecating groovy configuration
another attempt at temporary test fix