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.
Merge branch 'gc-header-fix' of https://github.com/JasonGross/Idris-dev into JasonGross-gc-header-fix
Spot name clases in error messages

This just renames the internal name to something distinguishable. It's
still not completely clear (since it's a renaming from the user's name)
but given that the message means a user has picked the same name twice,
there's not too much else we can do easily... Certainly it's better than
"Can't unify f x with f x"...

Fixes #705
Merge branch 'JasonGross-gc-header-fix'
Generate better record projection types

In particular, pay attention to parameters since there is no need to
project in the type for these.

Fixes #201
Fixes #1356
Disable old productivity checker

(It didn't work anyway...) Also fix a problem with the guardedness check
in the new version. This has caught a couple of non-productive functions
in Prelude.Stream.

Fixes #671
makelemma fix

Check appropriate number of arguments in metavariable, and take
__pi_args