promise(next, errorHandler) の形でファクトリにエラーハンドラを渡せるように＋empty/kの導入

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