Split monad::fmap and monad::bind to functions corresponded each reference.
Cleaned up monad/option_control.h
Merge branch 'split_fmap' into dev
Fixed monad::inject_option to be able to pass rvalue.