Add coffeelint to check for style guide violations

This PR attempts to add automatic style guide checking. Specifically, it

* moves the style guide into the repository.
* adds a `coffeelint` configuration to check (a subset of) the style guide recommendations.
* adds `cake lint` to run `coffeelint`.
* integrates `cake lint` into travis-ci.
* makes the changes suggested by `cake lint`.

All code style violations caught by `coffeelint` are currently set to `warn`, so will not fail the travis build. This can be changed if certain violations are deemed unacceptable.
You should actually rewrite this method to use bindings correctly:
```
 should "handle self-removing handlers correctly", ->
     @handlerStack.push { keydown: => @handler1Called = true }
     @handlerStack.push { keydown: =>
       @handler2Called = true
...
```