Add support for literal Byte and Short values.

This commit reserves the [zZ] and [sS] suffixes for Byte and
Short literals, respectively. These work exactly like Long
literals, which were already denoted with [lL].

For example, you can say:

  val zero = 0Z
  val bytes = List(23Z, 23Z, 0Z, 0Z, 111Z, -54Z, 19Z, 17Z)

This commit does not permit literal unsigned bytes, so 255Z and
0xffZ are not legal.

The choice of Z may seem strange, but B will not work for
hex constants (0x10B would be ambiguous) so Z seemed like a
good choice.
Add flag to disable withFilter pattern desugaring

This adds a flag called `-Zirrefutable-generator-patterns` which changes
desugaring of code like the following:

    for {
      (a, b) <- List(1 -> 'a', 2 -> 'b')
      (c, d) <- List(3 -> 'c', 4 -> 'd')
    } yield (a + c, b + d)

Which previously would turn into something like:

    List(1 -> 'a', 2 -> 'b').withFilter {
      case (a, b) => true
      case _ => false
    }.flatMap {
      case (a, b) =>
        List(3 -> 'c', 4 -> 'd').withFilter {
          case (c, d) => true
          case _ => false
        }.map {
          case (c, d) =>
            (a + c, b + d)
        }
    }

With this new flag, it only becomes:

    List(1 -> 'a', 2 -> 'b').flatMap {
      case (a, b) =>
        List(3 -> 'c', 4 -> 'd').map {
          case (c, d) =>
            (a + c, b + d)
        }
    }

Which creates a few benefits:

1. We don't have to do a useless call to withFilter
2. We can use patterns on things without withFilter
3. Things don't silently disappear when patterns are wrong
Warn on non-exhaustive for-comprehension patterns

We assume patterns are exhaustive when desugaring with
`-Zirrefutable-generator-patterns` but we should still emit a warning if
we think they might not be.
Add a test for -Zirrefutable-generator-patterns
List Typelevel options when -Z flag is given
Merge pull request #12 from puffnfresh/feature/short-byte-literals

Add support for literal Byte and Short values.
Allow primes at the end of identifiers.
Merge pull request #29 from milessabin/feature/prime-identifiers

Allow primes at the end of identifiers.
Filter bincompat of ZirrefutableGeneratorPatterns
Automatically enable color REPL if JLine says so
Merge branch '2.11.x' into 2.11.x-typelevel
Merge branch '2.11.x-typelevel' into feature/irrefutable-generator-patterns

Conflicts:
	bincompat-forward.whitelist.conf
	src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
Merge pull request #63 from puffnfresh/feature/color-repl-auto

Color REPL
Merge pull request #1 from puffnfresh/feature/irrefutable-generator-patterns

Add flag to disable withFilter pattern desugaring
Add an @implicitAmbiguous annotation

Example usage:

    trait =!=[C, D]

    implicit def neq[E, F] : E =!= F = null

    @annotation.implicitAmbiguous("Could not prove ${J} =!= ${J}")
    implicit def neqAmbig1[G, H, J] : J =!= J = null
    implicit def neqAmbig2[I] : I =!= I = null

    implicitly[Int =!= Int]

Which gives the following error:

    implicit-ambiguous.scala:9: error: Could not prove Int =!= Int
      implicitly[Int =!= Int]
                ^

Better than what was previously given:

    implicit-ambiguous.scala:9: error: ambiguous implicit values:
     both method neqAmbig1 in object Test of type [G, H, J]=> Main.$anon.Test.=!=[J,J]
     and method neqAmbig2 in object Test of type [I]=> Main.$anon.Test.=!=[I,I]
     match expected type Main.$anon.Test.=!=[Int,Int]
      implicitly[Int =!= Int]
                ^
Add a scala-typelevel project

This is where our additions to scala-library.jar will go. The current
content is the implicitAmbiguous annotation.

I seemed to have made the right changes to make the REPL, the test
classpath and scala-dist to work. I'm not sure if there's anything else
we need but I also inserted references to typelevel where library was
also referenced, just in case.
Merge pull request #32 from puffnfresh/feature/implicit-ambiguous-annotation

Add an @implicitAmbiguous annotation
Update README to be specific to Typelevel
README build status should be master build, not PR
update documentation for ENSIME