Changed monad::Option to std::tuple.
Fixed functions for monad::Option.
Added monad::OptionTraits.
Fixed template parameters of functions monad::Option.
Fixed functions using monad::Option.
Renamed monad::make_option which is passed a functional object to monad::inject_option.
Simplified template arguments of monad::fmap and monad::bind.
Merge branch 'option_tuple' into dev
Merge remote-tracking branch 'origin/dev' into unhiding
Fixed some functions using monad::make_option to its using monad::inject_option.