Revamped Promise implementation

The pipelining is now fixed. Also, it now matches more the
implementation found in other frameworks and reduce a lot CPU usage!
Multiple then() can also be bound to the same promise object.