Add when3 branch to travis
Remove promise.throw until we find real use cases. See #242. Refactor runHandlers to use task objects, removing more closures. Add orElse alias for promise.else