add support for promises

**Changes:**

* Added a negative lookahead so `catch`, `finally`, `throw`, and `try` are only considered keywords if they do not have a leading period.
* Added `Promise` as a built-in class. Stable Chrome and Firefox are both shipping with it.

**Screenshots:**

Current version
![current version](http://i.imgur.com/oQRem3m.png)

Updated version
![updated version](http://i.imgur.com/vvS50QJ.png)

try/catch/finally block is unaffected
![try/catch/finally block is unaffected](http://i.imgur.com/dVxIMoR.png)