Add DecEq instance for string
Add decEq unit test
Argument options (instead of just a Bool for lazy)
Add IPKG for SimpleParser
Correct usage information
Basic functioning with new pretty-printer
Colouring support in the prover
Added %error_reverse annotation

On a function, %error_reverse hints that the function should be run "in
reverse", i.e. as a rewrite rule from right to left, before displaying
an error message.

On a data declaration, %error_reverse means that all functions with that
type will be implicitly set as %error_reverse functions.

EFFECT is now set as %error_reverse. So in the Effects library, this
leads to much nicer messages, e.g.:

Can't solve goal
    SubList [(FILE_IO (OpenFile m))] [(FILE_IO ()),STDIO,
    ('Count ::: (STATE Int))]

...rather than the fully normalised versions we used to see.
Replace the string-slinging show with pretty-print

The built-in show for PTerms has been completely removed. This reduces
code duplication, but it also ensures that semantics last longer - a
step towards better IDE support.
Merge remote-tracking branch 'upstream/master' into semantic-pprint

Conflicts:
	src/Idris/AbsSyntaxTree.hs
	src/Idris/Delaborate.hs
Properly annotate the Type of Types
Eq and Ord instances for Prelude.Vect
Support semantic highlighting in IDEslave mode

Now, semantic information from the pretty-printer is sent as a list of
spans associating regions of output with metadata.
javascript: remove allocations
javascript: cleaned up
javascript: smarter inliner
javascript: translateDeclaration should not return JSSeq
javascript: eliminate dead cases
javascript: main and invokeLoop as JS
javascript: initial code for function inliner