MonadError type class, \/ implementation, tests.
EitherT implementation.
LazyEither implementation.
LazyEitherT implementation.
Task implementation.
Remove redundant test.
MonadError syntax.
Merge pull request #748 from hgiddens/monad-error

Monad error