Automatically run GC/finalization after each task execution.

Fixes #1223.

* Add a new key to disable forcing the garbage collector to run
  after each task-executioin
* Add a new flag to disable forcing the garbage collector to run
  after each task-exeuction
* Add a hook into EvalauteTask to run System.gc/System.runFinalization
  after each task execution

Review by @eed3si9n
Added a test reporter for JUnit XML

Taken from https://github.com/chenkelmann/junit_xml_listener and slightly improved.
Activating is now just a matter of setting `testReportJUnitXml` to true.
This not only brings a very handy feature (hudson/jenkins support that syntax),
but gives more options for testing the SBT test infrastructure.
For instance checking that the test output is well segregated during a parallel
test run is just a matter of checking the report output.

Conflicts:
	main/src/main/scala/sbt/Keys.scala
Migrate JUnitXmlReport into an autoplugin.
Separate location of analysis cache if we're cross compiling scala.

* Add task to determine file-name of analysis cache
* If crossPaths := true, then add scala binary version to the analysis cache name.

This makes it possible to leverage incremental compilation with the `+` command.

Fixes #1267
Remove enabling key for JunitXmlReportPlugin.

This migrates JunitXmlReportPlugin to work the way we desire
new sbt features/plugins to work:

* Enabling the feature is having the plugin available.
* Disabling the feature is disabling the plugin
* All code/settings for the feature are isolated to the plugin.
Adding docs for the test report hooks.
Merge pull request #1276 from sbt/wip/run-finalizer-after-tasks

Automatically run GC/finalization after each task execution.
Merge pull request #1277 from sbt/fix/issue-1267

Separate location of analysis cache if we're cross compiling scala.
Merge pull request #1278 from sbt/wip/junit-xml-reporter

Migrate JUnitXmlReporter into sbt as autoplugin
add precompiled 2.11.0
Merge pull request #1280 from xuwei-k/precompiled2110

add precompiled 2.11.0
Add a warning if the build scala version is evicted for another.

* Add new ConflictReport helper to build to display only conflict information
* Add hook to issue warnings if the scalaVersion isn't the one resolved
* Update documentation to reflect these changes.