Add :addmissing REPL command

:am [line] [name] gives the missing clauses for the [name] defined on line
[line]. Correspondingly, :am! updates the source file.
Leave metavariables for unfinished proofs

If the maximum search depth is reached, the proof so far may still
be useful.
Add WriterT.
Add ReaderT.
More functions for Reader and Writer.
Add RWST.
Allow hints to be given to proof search

:ps now takes an optional list of names to be used as hints in the
proof search.
Make libffi support a cabal flag

It has quite a specific use at the minute and can make installation a
bit awkward, so this means it's not required for installation.
LLVM and FFI flags default to off

This is primarily so that installation is easier for new users. Users
who want these features can of course turn them on easily enough!

(Ideally, we want binary packages which will switch everything on.)
Ask travis to install optional dependencies
Added warning in case Idris is compiled without libffi support
Add :apc for adding "proof style" declarations

That is, :apc on
plus_comm : (m, n : Nat) -> (plus m n = plus n m)

will add the caluse
(plus m n = plus n m) <== plus_comm = ?plus_comm_rhs

where m and n can be case split as normal
Merge pull request #570 from folone/master

Add factorial, gcd, and lcm to Nat.
Merge pull request #571 from folone/topic/writer

RWST
Merge pull request #574 from david-christiansen/ffiwarn

Added warning in case Idris is compiled without libffi support
Update CHANGELOG and verison number