Improvements to continuation monad(lift_async) and some tests
merge