Fix optional combinator in SimpleParser
Optimise datatypes with one constructor and one argument
No need to pack them up (because we're strict!) so just treat them as a
newtype would be in Haskell.

No need now to treat prim__IO/prim_io_bind specially in the compiler as the
cosntructor is automatically discarded by this optimisation.
More minor impl-paper edits and typo fixes
Semantic colouring of identifiers in REPL
Basic colourisation in REPL
Colourisation fix for repl
Colourise implicit params with underline
Move colourisation to a separate module

This will make it easier to selectively import it and to avoid cyclic
dependencies.
Add command line option to control REPL colours

--colour will ensure that colours are on, and --nocolour will ensure that they
are off. American spellings also supported.
Make --quiet imply --nocolour

This keeps ANSI colour codes from interfering with things like test scripts
and editor support.
Have :t colourise the left side of the colon
Update CHANGELOG for colours in REPL
Some refactoring in CaseOp
Separate case trees for totality checking, compile time and run time
and lift into their own data structure, so that it's clear which one to
use when.

Needs a "make relib"
Merge pull request #467 from Melvar/master

Fix optional combinator in SimpleParser
Merge branch 'color-repl' of https://github.com/david-christiansen/Idris-dev into david-christiansen-color-repl
Merge branch 'master' of github.com:edwinb/Idris-dev
A little reorganisation of clauses elaboration
To be more clear which case tree is which
Colourise some error messages

Some error messages are now colourised as well. We assume that all unbound
names are implicit arguments, as the error message doesn't have sufficient
context otherwise.
Merge pull request #471 from david-christiansen/color-repl

Colourise some error messages
Merge branch 'master' of github.com:edwinb/Idris-dev