Skip unnecessary coverage checking

If the last clause in a definition contains only _, we don't need to
coverage check it. This vastly, vastly improves the speed of this defn:

fourTupleElems : TT -> Maybe (TT, (TT, (TT, TT)))
fourTupleElems (App (App (App (App p ty1) ty2) tm1)
                (App (App (App (App p ty3) ty4) tm2)
                 (App (App (App (App p ty1) ty2) tm3) tm4))) = Just (tm1, tm2, tm3, tm4)
fourTupleElems _ = Nothing
Merge remote-tracking branch 'upstream/master'
Add type signature and Haddock to processTactic'
Remove the ability to reflect At and Elaborating

This is because they are primarily "plumbing" for tracking error
locations, so it's better for error reflection to work on their
payloads. Any reasonable implementation would have just copied what the
compiler does with them anyway.
Reverse the reversible errors while reflecting

This makes Eff error reflection much more readable.
Improve error pretty-printing
Tail recrusive foldr for List
Tail recursive foldr, reverse and fromList for Vect
Tests for tail recursive implementations of foldr
Merge remote-tracking branch 'upstream/master' into error-reflection

Conflicts:
	src/Idris/ElabTerm.hs
	test/error003/ErrorReflection.idr
	test/error003/expected
Merge pull request #966 from david-christiansen/error-reflection

Error reflection
Merge pull request #969 from JanBessai/MoreTailRecursion

More tail recursion