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.
Recheck quasiquotes

This makes the elaborator for quasiquotes somewhat more strict, which
prevents unknown names from sneaking in to quasiquotes as well as
causing it to fail if not enough information is provided to solve implicits.
Update tests for rechecking of quasiquotes
Remove unused code
Generate legal names for infix op lemmas

Fixes #1337
Merge pull request #1382 from david-christiansen/incomplete-quasiquote

Properly type check quasiquotes
Merge pull request #1383 from david-christiansen/issue/1337

Generate legal names for infix op lemmas
Correct Semilattice Implementations
javascript: switch to Data.Text for code generation
Merge pull request #1385 from raichoo/javascript

javascript: switch to Data.Text for code generation
javascript: factor AST into own module
javascript: whitespace
javascript: wrap exceptions in function
Merge pull request #1387 from raichoo/javascript

Javascript
Change 'Not a guess' error

On further investigation, every time this is encountered it means that
there are still holes in a subterm, so the appropriate error is
"Incomplete Term".
Resolve class instances under let bindings

This only really matters when there is a default Num instance to be
resolved - in other cases it'll be dealt with by the resolution under
the PApp elaboration.

Fixes #1388
Fix data ctor arity comparison.
Fix parameter spotting in function types

We were only looking in the return type, not the argument types.
Fixes #1391
Disjoint constants should be fatal in unification

Fixes #1390
Merge pull request #1392 from ziman/fix-dctor-erasure

Fix erasure from data constructors