Implementing Writer and flatMap -> Chain
- Implemented the basic writer idea, but I'm pretty sure it's not correct around `ap`
- Changed `flatMap` to `chain` to be consistent.
Documentation
- Fixing the documentation in the Writer file.
- Adding another test from the http://adit.io/posts/2013-06-10-three-useful-monads.html