Break test
Make monad.m work.

This is only half of the transition though, lot's of examples and stuff need to
be rewritten.
Break another test
Use `Monad.m` notation in examples
Prefix function name with module name

The `m` monad has changed and it now includes an import again. This
import overrides previous imports, thus (here) `fail` needs to be
prefixed.
Use `Monad.m` notation in `Monad.Error` tests and examples
Make examples self-contained

That is, add necessary aliases and requires.
Use AST transformation for 'return'

Using an import would override the imports of the user for the monad module
inside the monad code.
Merge branch 'feature/Monad.m' of github.com:rmies/monad into feature/Monad.m
Replace `Maybe.fail` with `fail`
Use `Monad.m` notation in `Reader` tests and examples
Use `Monad.m` notation in `State` tests and examples
Use `Monad.m` notation in `Writer` tests and examples
Use `Monad.m` notation in example
Merge branch 'feature/Monad.m' into develop