Document maybe module to a greater extent.

Most of the additional documentation has to do with the monad instance.
(Re-)add foldable concept implementation for maybe.

Also add unit tests of the implementation.