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

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()
Merge pull request #29 from evanj/master

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