Allows an inheriting constructor to return itself when calling .then

Signed-off-by: Christopher Rogers <chrissrogers@gmail.com>
Checks that a callback passed to Promise.prototype.nodeify is callable before attempting to call

Signed-off-by: Christopher Rogers <chrissrogers@gmail.com>