Fix orphan instances of MonadErrors

This also moves all its instances for monad transformers together, for
extra clarity. ErrorsT instances are separate.
Reduce cosmetic differences between instances

recover for StateT is actually different, so it's good if it looks
different.
Drop unused binding
Merge pull request #70 from Blaisorblade/topic/cleanup

Fix orphan instances of MonadErrors & misc