When.java - changed public methods to take a Thenable rather than Promise when possible
ChainTest - added chain notify unit test
When.java - sequence() should now reject when an input task fails and handle task exceptions