Use a Travis-compatible build

This makes some fairly major changes to the project structure, but very little to the runtime code.

 1. Remove all Ruby dependencies in favor of npm ones.
 1. Switch from Jasmine to Mocha + Chai + Sinon
 1. Switch from Rake to Make
 1. Change the .travis.yml file to tell Travis to treat this as an npm
    project.
 1. Clean up the .jshintrc file to be compatible with the general
    practices of the project
 1. fix JSHint violations in `src/vendor/lru.js`

@jish I heckled the tests by setting
```javascript
var expect = function(x) { return chai.expect("1" + x); };
```
They all fail. I'm fairly confident in the test suite at this point.