Split trampoline monad into own file
Removing duplicate lift define code
Refactored Error to use either
Fixes #11, inline trampoline thunk so non anon function required.
Removed extra level of indirection in EitherT
small cleanup
V0.5.3