LLVM test should return True if no flag is present

Fixes the build of the rts for LLVM.
Various logging tweaks
Just altering some levels to get more useful debugging out of case block
elaboration and coverage checking
Change default specialisation behaviour to not unfold names
Add syntax for transformation rules
%transform lhs ==> rhs
Unbound names on the lhs are treated as patterns.
Transformation behaviour not yet implemented.
rename Data.Z into Data.ZZ to avoid name collisions
Fix let scope leakage bug
rename O into Z
rename fO into fZ
Speed improvement for coverage checking
Lots of repeated work in checking repeated clauses chopped out
(there's more of this to come)
Minor problem with previous coverage checker patch fixed
Much faster coverage checking by ignorng forced arguments
No need to generate cases to check for them, because we already know their
value is forced by another part of the same constructor!
Change llvm-general dependency (latest version breaks build)
Apparently llvm-general is fixed now
Merge pull request #418 from melted/setup-fix

LLVM test should return True if no flag is present
Merge branch 'Z' of https://github.com/raichoo/Idris-dev into raichoo-Z
Going to leave the llvm-general constraint until it's obviously fixed
Swapped Vect arguments
So now nicer to write type class instances for Functor, Applicative, etc
Integers of fixed width should use unsigned comparisons
Build LLVM rts at the right stage and clean up a namespace
Invert namespace cleanup for better compatibility