initial ideslave
minor cleanups
use process in ideslave loop
catch errors during receive and report them
make this a bit more useful, and use same protocol as emacs side :)
output should be (output result)
completions for REPL
rename abort -> error, emacs-rex -> idris
load-file support
Fix marshalling of String/Symbol (broke completion)
put ideslave_counter into IState
use iputStrLn here as well
implement outputmode in IState, which either prints it raw or sexpressions (for ideslave support)
fix parsing of escaped quotes inside of strings
don't use a field in IOption and a field in IState, only one of them
send prompt over the wire - also minor refactoring
IdeSlave mode improvements:
 - introduce iResult and iFail to report success and failure of a REPLcommand
 - send warnings for occuring warnings during parsing / typechecking
 - introduce ideslaveProcess function, which guards process with
   iResult/iFail (and does not support all operations)
 - revert commit which removed IState from ideslaveStart/ideslave functions
Comment out most of Data.Bits and Data.Mod2
Since they rely on a bug in the unifier!
Check that explicitly given implicit args unify with inferred versions
Also exposed a unification bug which unified things which shouldn't be:
f x = f y does not imply x = y unless f is injective, and this was not
properly checked.

Fixes issue #127, as it caused a related problem in the coverage checker.
Merge pull request #312 from hannesm/ideslave

Ideslave option