default case for hostDynamicLibExt.

this is useful for e.g. checking things out in ghci, where we don't have
the fancy environment variables from config.mk.
Added .ghci specifying language extensions.

Seems like -XFlexibleInstances is expected everywhere; I just copied the
four extensions specified in idris.cabal for completeness' sake.
Fix interpreter implementation of signed operations on Integer
APPLY needs a catch all case for type constructors
Normally, they get erased, but in case they haven't at compile time this
ensures they are at run-time. It's safe just to return an erased term
since it can't be inspected. Fixes #416
(This may mean something is wrong in erasure, or it may simply be that
something is sufficiently higher order that the unused argument checker
doesn't feel it is safe to erase.)
Left and arithmetic right shifts on big integers under LLVM codegen
StrRev primitive too
Merge pull request #414 from startling/for-ghci

Made Idris a little more ghci-friendly.
Merge pull request #415 from Ralith/fix-bigint-division

Fix interpreter implementation of signed operations on Integer
Merge pull request #417 from Ralith/bigint-shifts

Left and arithmetic right shifts on big integers under LLVM codegen
Add %specialise annotation for functions (Part 1 of partial evaluation)
%specialise [n1 t1, n2 t2 ...]
as an annotation before a function type means that the r.h.s. of all
the clauses will be evaluated, but with the name n1 reduced at most
t1 times, etc. The t1 part is optional, and means unlimited (which is
the default for all names at the minute anyway)

e.g.

%specialise [interp, fact 1]
i_factorial : Int -> Int
i_factorial x = interp [] fact x

will run the interpreter on fact, ensuring that fact is only unfolded once
to avoid infinite evalution.

The UK specific spelling is intentional :).
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