Assorted fixes

- Fix for null donefilter for then()
- Fix for always() not being chainable
- Fix for when() adding an extra first (undefined) argument