Rewrite UI using ReactJS + RequireJS

React JS is a nice replacement for Backbone.View, and this pull request does that replacement. This also splits the UI in many small JS files that use Require JS to manage dependencies.

#### New features
* Sort jobs by column (currently only descending order)
* Press ESC to close modals
* Use Bootstrap markup for forms

#### Yet to be implemented
* Filtering jobs

#### Working locally

To work on the UI locally, point to the uncompiled `main.js` by editing `index.html` and removing `dist/` from the path:

    <script data-main='js/dist/main.js' src='js/require-2.1.9.js'></script>

becomes:

    <script data-main='js/main.js' src='js/require-2.1.9.js'></script>

To build the UI, run `./bin/build` in the `js` directory and check in the compiled `dist/main.js`.