Move the Traversable type class to it's own file
Added useful example of an invariant functor