Add a setting to disable the matcher-extra sub-project

This is the only part that depends on macro paradise.
In order to be able to easily test Specs2 against arbitrary
snapshot builds of Scala 2.11, it's advantageous to be able
to build the other 95% independently. This also prevents us
getting stuck in the face of bugs like:

  https://github.com/scalamacros/paradise/issues/7

	> show specs2-matcher-extra/scalacOptions
	[info] List(-Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xplugin:/Users/jason/.ivy2/cache/org.scala-lang.plugins/macro-paradise_2.10.3/jars/macro-paradise_2.10.3-2.0.0-SNAPSHOT.jar)
	[success] Total time: 0 s, completed Nov 28, 2013 11:07:12 AM
	> set disableMatcherExtras in ThisBuild := true
	[info] Defining {.}/*:disableMatcherExtras
	[info] The new value will be used by specs2-matcher-extra/*:libraryDependencies, specs2-matcher-extra/compile:sources, specs2-matcher-extra/test:sources
	[info] Reapplying settings...
	[info] Set current project to specs2 (in build file:/Users/jason/code/specs2/)
	> show specs2-matcher-extra/scalacOptions
	[info] Resolving org.fusesource.jansi#jansi;1.4 ...
	[info] Done updating.
	[info] List(-Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_, -Xlint, -deprecation, -unchecked, -feature, -language:_)
Build with Scala 2.11.0-M7

And with compatible Shapeless / Scalacheck.
Address type error noticed by 2.11.x

    case class Mapper[T, P <: HList, U, R]

    mapper.asInstanceOf[Mapper[Any, Any, Any, Any]]   // invalid
    mapper.asInstanceOf[Mapper[Any, HList, Any, Any]] // okay!

This wasn't caught in Scala 2.10.x because of SI-7756.
Refactor code to work around macro-paradise bug.

  https://github.com/scalamacros/paradise/issues/7

Also of great interest is how paradise, included only in
specs-matchers-extra, is leaking into the compilers of other
sub-projects.