Adapt README to reflect the current state of code generators.
Update README
Update README
Merge pull request #1657 from raichoo/master

javascript: #1641 add missing primitive
Binary instance for Err + binary fixes

Add a Binary instance for Err, and add missing cases to other Binary
instances. The file will now fail to compile with GHC if a Binary
instances is missing a new case.
Support type errors in docstrings

Now, code blocks that are declared to be Idris code (with the Markdown
language specifier) are type checked, and any type checker or parser
errors that occur are retained and displayed to IDEs.
Make all code examples typecheck

This gives them the > notation when printing.
Merge pull request #1655 from david-christiansen/docs

Retain parser and type errors in documentation code samples
Partially evaluate type class dictionaries

All constraints are assumed to be 'static' so functions with type class
constraints will now be monomorphised, ultimately.

(I should add a flag to turn partial evaluation off, shortly, in case
this is not wanted, or too slow...)
Removal of minor TODOs

Some were completed before and we forgot to remove the TODO, while
others I just took care of.
Optimisation options

--partial-eval and --no-partial eval (former is the default)
-O[0-3] now set packages of optimisation options (although the only one
currently existing is partial-eval, which is set at levels >=2)
Default -O2
Make do blocks require an expression

This makes for better error messages and fixes #1656.

Old message:

    > :t do
    When elaborating an application of constructor __infer:
            INTERNAL ERROR: Invalid statement in do block
            This is probably a bug, or a missing error message.
            Please consider reporting at
            https://github.com/idris-lang/Idris-dev/issues

New message:

    > :t do
    (input):1:6: error: unexpected
        EOF, expected: ")",
        do block expression,
        end of "do", start of block
    :t do<EOF>
No longer show __infer in pretty-printed errors

__infer is an implementation detail and shouldn't leak. Fixes #1626.

Old error:

    > a
    (input):1:1:When elaborating an application of constructor __infer:
            No such variable a

New error:

    > a
    (input):1:1:No such variable a
Eliminate with_val by generalizing value
Merge pull request #1659 from edwinb/partial-eval

More partial evaluation goodness
Merge pull request #1658 from david-christiansen/todo-removal

Removal of minor TODOs
Merge pull request #1660 from david-christiansen/issue/1656

Make do blocks require an expression
Merge pull request #1661 from david-christiansen/issue/1626

No longer show __infer in pretty-printed errors
Propagate static flags into with blocks

Need this to properly specialise functions generated using 'with',
otherwise the with blocks get left alone.
Merge pull request #1663 from edwinb/partial-eval

Propagate static flags into with blocks