Add pkg-config gc flags to llvm Makefile

This makes building work for systems which have gc installed in a
non-standard location.  The invocation was pulled from
https://github.com/schani/clojurec/pull/2, and then modified based on
https://github.com/idris-lang/Idris-dev/pull/428#issuecomment-26302460.
Support builds that doesn't use cabal for libs and rts
data-lens is not a dep of idris

lens is, but that isn't available in the binary repos of the old version
of Ubuntu Travis-CI runs.
Parsing for quasiquotes
Elaborate quasiquotes
Elaborate qquotes in fresh proof state
Initial support for unquotes
Support simple quasiquote patterns
Allow reflecting types with quasiquote patterns
Quasiquotes in CHANGELOG
Add simple test for quasiquotations
Merge remote-tracking branch 'upstream/master' into quasiquote

Conflicts:
	CHANGELOG
Implement unquoting for the rest of PTerm
Set the handles used for --client to use UTF-8

Previously they were binary-mode, so they used char8 “encoding”, taking
codepoint values modulo 256, leading to cryptic identifier mangling errors
when using idris-vim.
Elaborate quasiquote patterns to something useful

This causes parts of the terms that either vary unpredictably or don't
contain interesting information to be elaborated to _ in a pattern-match
context.
Update comments to fit the state of the code
In :search, check injectivity to prevent erroneous results
Discover typeclass introduction/elimination in :search
Find best matching types first in :search with a priority queue.
Ignore believe_me in :search since its type is a lie!