Output: Use throwError from Control.Monad.Except

Update 'Idris/Output.hs' to use 'throwError' from 'Control.Monad.Except'
rather than from 'Control.Monad.Error', which causes the build to fail
with a default setup:

  src/Idris/Output.hs:18:1: Warning:
      Module ‘Control.Monad.Error’ is deprecated:
        Use Control.Monad.Except instead

  <no location info>:
  Failing due to -Werror.

With this patch it should build fine.

This requires mtl >= 2.2.1, so add this to the cabal file.

Signed-off-by: Alexander Berntsen <alexander@plaimi.net>
Improve parser errors in dependent type signatures
Check target of 'with' is a value (not a function)
Lifted TODO/FIXME issues to the issue tracker.
Avoid retrying unification problems constantly

If solved metavariables do nothing to a unification problem, there's no
point in trying it again - this can lead to a massive slowdown if
there's a lot of evaluation in the type. Partially addresses #1219.

Fixes #1716 on the way by tidying up type of updateProblems.
Add a default case for addShows

The assumption that the argument lists are equal in length is a flawed
one. Fixes #1765
added ":refine", ":ref", "refine!" and "ref!" to the autocompletions in the REPL
added IOExcept handler to FileIO effect
Merge pull request #1774 from raichoo/master

added IOExcept handler to FileIO effect
Merge pull request #1762 from bmsherman/improveParserErrors2

Improve parser errors in dependent type signatures
Merge pull request #1770 from jfdm/fix/lift-todo-completion

Lifted TODO/FIXME issues to the issue tracker for Completion.hs
Merge pull request #1773 from JakobBruenker/master

Added ":refine" to the autocompletions in the REPL
Efficiency of unification

Unification is trying to hard to unify things which are never going to
work, and backtracking a lot. This stops that.
Fixes #1219
Fix for name clashes when applying transformations

Fixes #1684, and most likely a lot of other partial evaluation problems.
IBC version updated since the problem may show up in any library code
that's currently built.
Check for cycles in unification results

Fixes #1754.
Remove Type* on type of (.)

We should leave this sort of thing until uniqueness types are more
mature and we've experimented more outside the Prelude.
Fixes #1777
Move Pair/Sigma into Builtins namespace

Fixes #1775 (but there is still a related problem to address too,
being #1776)
Check datatypes are not redefined

We were checking, but only seeing if the type constructor was the same,
which is not enough. Fixes #1776.
Add proper namespace to class instances

Fixes #1779
Remove -Werror in Output.hs due to ErrorT

As far as I can tell, we can't replace ErrorT with ExceptT yet because
there's a missing MonadException instance in Haskeline. Also, the
dependencies we have set are causing a build failure on travis due to
the -Werror.

Proper fixes welcome! This is noted in issue #1780