Replace mtl by transformers, use ExceptT if available

The change to transformers required only a few "lift".
Replacing ErrorT by ExceptT is just as easy, allowing for
a simple CPP solution to support both.

New version 0.5.0.1 (changed dependencies)