Support :l in server to allow editing multiple files

As long as files are in the same directory, you can interactively edit
multiple things now since the vim mode loads the appropriate file before
querying/modifying it.
Use make -j2 test on travis
cleanup whitespaces
Add proofsearch tactic, with :ps at the REPL

At the moment, just invokes 'trivial'. There is a corresponding vim
command, \o, which invokes this and prints the result.
Failed proofsearch branch creates new metavariable
Unbreak interactive development (oops!)
Proof search now tries appropriate constructors

It will take the first one which works, which will not always be what
you want, of course, but if there is enough structure in the type then
it limits the ones which are valid.

\o in vim invokes proof search.
Proof search now also tries recursive calls

Though not at the top level, only under a constructor, to avoid
searching forever. (This can probably be improved simply to ensure that
it doesn't try applying the top level function.)
Broaden the check introduced in 229975d61c7e5728ba to account for

"localhost.localdomain" patterns.

Perhaps `isPrefixOf "localhost"` would be desireable, instead?
Only bind to the localhost interface from REPL network socket.

Copied 'n pasted impl of
http://hackage.haskell.org/package/network-2.2.1.7/docs/Network.html#v:listenOn
modified to listen on localhost instead of iNADDR_ANY
Fix missing case in metavariable display

Fixes #569
Merge pull request #565 from JanBessai/KeepMavenProjects

Adds the ability to keep around the generated maven project
Merge pull request #566 from hannesm/cleanup-whitespace

cleanup whitespaces
Merge pull request #568 from LeifW/broaden_localhost_checking

Broaden localhost checking
Merge branch 'master' of github.com:edwinb/Idris-dev
Add a test for interactive features of REPL
Add factorial, gcd, and lcm to Nat.
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.