Changed Option<T> to be a delegate.  Going to do this for all of the monad types (other than Parser).  I think the consistency will help with any future monad-transformer attempts.  Still a bit fuzzy in my head, but it'll clear!
Added memoization extension method to Option, IO, Reader and Try.
Merge branch 'master' of https://github.com/louthy/csharp-monad.git