Add docstrings to internally defined types

Add docstrings to the type constructors and constructors for (=), (,),
_|_, and (). Some of these are not easy to look up from :doc, but they
show up in tooltips in certain IDEs, and :doc should be improved to make
them easier to find.
Add -e EXPR to evaluate expressions w/out REPL

The command line option follows the convention from Perl. This causes
Idris to evaluate the provided expressions, pretty-printing them without
line breaks. Then, test results need not depend on terminal widths any
longer. If multiple -e options are provided, then the expressions are
evaluated in order.
Improve the portability of reg041
Enable word-wrapping in docstrings

Now, docstrings will be rendered to the console with word-wrapping.
Docstring improvement for prop. eq.
Add note about additional docs to CHANGELOG
Correct opening brace in implicits in pprinter

Before:
    Prelude.Basics.id : (a : Type} -> (__pi_arg : a) -> a

After:
    Prelude.Basics.id : {a : Type} -> (__pi_arg : a) -> a
Normalise before case split

Allows case split to work on type synonyms. Fixes #805.
Merge pull request #1093 from puffnfresh/bug-fixes

Make completeCmd total
Merge pull request #1094 from david-christiansen/internal-docstrings

Docstrings for internal types + test portability fix
Read 'lineapps' data from IBC

...since it's now saved there, and assuming we need to read it from
source means that we can't use interactive commands when loading from
ibcs. Fixes #1095.
Merge branch 'master' of github.com:idris-lang/Idris-dev
--link and --include give flags, not directories
Fixed merge bug
Added IdrisDoc tests
Rewrote 'expected' file
Removed test backups and converted tests to pure bash scripts
Added missing test directory
Changed test implementation
Made test resistant to differences among command implementations