Rename Future::then to map
Rename future_impl::Composer to Mapper
Add Future::then function
Add missing include <type_traits> to Future.tcc
Rename async::Result to common::Try

The new name is adopted from Scala.
Merge pull request #74 from magicant/refactor/async

Refactoring in future implementation