Fixes patern quasi quoting.

The original implementation used the pattern parser when using the
quoter in a pattern position (e.g. let [hs|$e|] = [hs|1|] in.. would
antiquote e as a PVar) and the normal quasi quoter when used in
expressions. While (after reading the Quasi quotation paper) you would
expect $e in the previous example to match any expression. Thus the
following changes were made
- Change the parser for the pattern part of the quasi quoter
- Unfiy common parts of both antiquoters.
Adds a fix for the qualification on GHC >=7.4.1 .

On these version of GHC the qualification is no longer necessary. So
a cpp conditional is used to redefine qualify for later versions to
the identity function.
Merge branch 'qualifyFix' into develop