Extensive Monoid documentation update, incl. many examples.
Minor layout/style fixes, missed constructor invocation.
Fixed logic error in deriving_join implementation.
Improved documentation and general cleanup in either module.
Increased coverage in either_tests.
Utility struct for testing perfect forwarding and moves better.