Adds quasiquotes to the reflection API

The implementation consists of following parts:

- Additions to the reflection API:

  - The Quasiquotes implicit class that defines `q`, `tq`, `pq` and `cq`
    interpolators which now become a part of the `scala.reflect.api.
    Universe`. Implementations of the interpolators are macro-based
    and are hardwired through `FastTrack`

  - The `Liftable` class and the `StandardLiftables` slice of the cake
    that provide a type class and a bunch of its instances that allow
    to easily splice user-defined types into quasiquotes

  - Additional methods in `BuildUtils` that are used by the quasiquote
    macro to generate trees, notably:

    - `SyntacticClassDef`. An extractor/constructor that allows to
      construct and deconstruct classes using arguments that mirror
      syntactic form of ClassDefs (e.g. constructor outside of the
      body)

    - `TupleN`, `TupleTypeN`. Extractor/constructor for easy
      construction of ast that represents a tuple term or type
      with given amount of elements.

- Actual implementation of quasiquotes in the `scala.tools.reflect.
  quasiquotes` package which is organized into a cake called
  `Quasiquotes` with slices:

  - `Macros`. Core macro expansion logic with `dispatch` entry-point.

  - `Parsers`. Customized parser that contains modifications to support
    various types of extensions to the Scala language that are needed
    for quasiquotes.

    Due to the fact that code snippets need to be parsed differently
    depending on the quasiquote flavor that is being used at the
    moment (`q`, `tq` etc) there a few sub-Parsers with different
    code wrapping logic.

  - `Reifiers`. Customized reifiers that combines reification and
    substitution of trees that represent holes in a quote
    (placeholders) with corresponding spliced values.

    There are two main different reification strategies: `ApplyReifier`
    and `UnapplyReifier` that are used correspondingly for construction
    and deconstruction quasiquotes.

- An extremely minor patch to the typer that specialcases expansion of
  unapply quasiquotes so that they can expand directly into inline
  patterns

- A few minor changes to the parser that simplify implementation
  of customized parser for quasiquotes

- Scalacheck-based tests