[fixes#3] cleanup + performance

* only allocate n+2 promises, rather then 4n+2
* only rebind the iterated if needed
* only rebind the iterator once.
* upgrade RSVP