Fix Closure return type annotation for allSettled() and timeout()

The only "error" fix here is changing the types on allSettled. With the current master version, closure fails with two errors like:


/Users/ej/kew/test/../kew.js:571: ERROR - inconsistent return type
found   : Promise
required: Array.<(Object|null)>
  return promise


Commit description:

allSettled: Returns a Promise not an Array. Takes an Array containing any
  type of value. Fix Closure type annotations, doc comment, and exception
  error message
timeout: Add return type annotation (not strictly required)

chain.js: Add test for allSettled([])
closure_test.js: Add examples of calling allSettled() and timeout()