add promise(next,errorHandler)

setErrorHandlerでしか渡せなかったエラーハンドラをpromise生成時の第二引数で渡せるようにしました。また、setErrorHandlerに渡すハンドラはpromiseでなくてもいいようにしました。

また、雑多な修正として、empty/kをメソッドの外に定義することで関数生成コストを若干抑えました。