Extracted the deffered type into runtime/promise.

The runtime/promise package will be fleshed out
with more promise types. Currently the Deferred
type can only be used for table-like values but
this should eventually include other types of
values as well.
Merge branch 'master' into fd-extract-promise