Add Future API

These patches implement only basic methods(onComplete, onSuccess and onFailure).
Other functional style methods(e.g. map, flatMap, filter and etc.) is not implemented yet.