added Buildable2 for map-like containers, updated Buildables and related bits
Merge pull request #53 from adriaanm/master

Switch to modularized parser combinators 1.0-RC2.
Only invoke shrinking if a failing test case has been found
Small tweaks in Commands.scala
New generator implementation, that should solve issue #8.

Gen now attaches the suchThat-filter to the generator result,
usable by Prop. Therefore, any shrinked values can be filtered
with the original generator filter.

For this to work, it is required that the various generators
uses suchThat to attach a "post-condition" to themselves. For
example, the Gen.oneOf implementation looks like this now:

  def oneOf[T](xs: Seq[T]): Gen[T] =
    choose(0, xs.size-1).map(xs(_)).suchThat(xs.contains)

All in all, the new implementation seems to work fine, and should
hopefully cause less confusion.
Update tests to work with new Gen implementation. Fix some bugs in Gen.scala
Merge commit 'b0f801b4454125a897c8f14f6d53c5084e0d0400'
Cleanups in Gen.scala
Fix bug in ConsoleReporter, introduced in recent refactoring
Initial commit of new Commands implementation

So far just a copy of the old Commands implementation. Will be kept hidden from
the external API until reasonable useful.

The main idea of the new implementation is to add an abstraction for the system
under test (SUT), and to make it possible to run several command sequences in
parallel, isolated from each other. This requires several co-existing instances
of the SUT.

Maybe also add support for running commands in parallel against the same SUT,
which would make it possible to detect threading issues in the tested code.
Gen.value deprecated in favor of Gen.const that has a better name
Deprecate Gen.{listOf1, containerOf1} in favor of {nonEmptyListOf, nonEmptyContainerOf}
replace bespoke collection Buildables with a single one that uses the CanBuildFrom machinery
New Commands implementation, work in progress
Gen.sequence should not create a failing generator for empty lists, it should create a generator that produces empty lists.
Rename Gen.container2Of methods to containerOf (overload method names)
Various scaladoc fixes
Drop superfluous Arbitrary instances
Add more scalacheck versions to Nix build
Ecosystem updates

  - move to SBT 0.13, and corresponding versions of sbt-mima and
    sbt-pgp
  - move from Scala 2.10.2 to 2.10.3
  - update the milestone version of of 2.11
  - drop dependency on scala-actors in favour of scala.concurrent,
    which is available in Scala 2.9.3 and higher
    - degrade gracefully on 2.9.2 by running sequentially.

The SBT update means we get correct handling of scalaBinaryVersion
for non-final releases:

    [info] Set current project to scalacheck (in build file:/Users/jason/code/scalacheck/)
    > ++2.11.0-M5
    [info] Setting version to 2.11.0-M5
    [info] Set current project to scalacheck (in build file:/Users/jason/code/scalacheck/)
    > scalaBinaryVersion
    [info] 2.11.0-M5

This prevents errors like:

    sbt> ++ 2.11.0-M5
    sbt> update
    [error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang.modules#scala-parser-combinators_2.11;1.0-RC2: not found