Rename TraverseMonadT to TraverseT.
Use TraverseT to implement ListT.
Rename some implicit methods in TraverseT.
Use TraverseT to implement OptionT.
Make TraverseT instance traits public.

Since the whole point of this class is to make it easier for everyone
to write simple monad transformers, it doesn't make sense to hide the
traits that people may want to extend.