Refactored sequential deferred handling to be better

As Benoit noticed: $.then() flattens promises!
Deferred.sequentially() now becomes a wrapper round this to manage
passing the state.