Fix #1406: Add TimeoutException and CancellationException
Merge pull request #1407 from alexandru/master

Fix #1406: Add TimeoutException and CancellationException
Fix #1347: Document ECMAScript versions with badges
Fix #1415: GlobalScope extends js.Any only
Merge pull request #1412 from gzm0/clean-analyzer

Cleanup Analyzer
Fix #1367: Add facade types for setTimeout et al.
Merge pull request #1416 from gzm0/ecma-badges

Fix #1347: Document ECMAScript versions with badges
Simplify the uniqueness cache of Symbol.

Using the collection API behavior of js.Dictionary.
Fix js.Dictionary wrt the collection API contracts.

* Fix a JavaScript wart with dict.contains("hasOwnProperty")
* -= should not throw if the key does not exist
* apply() should throw if the key does not exist
* get() should return Some(undefined) if the key exists but the
  value is `undefined`.
* It should not extend js.Object since calling methods of
  js.Object is unsafe (given that they could be keys).

This fixes #1414 and #1411.
Merge pull request #1418 from sjrd/fix-dictionary

Fix js.Dictionary wrt the collection API contracts.
wip refactor optimizer pipeline
wip
wip
wip
Fix #1421: Emit correct kind in ClassInfos
wip