React tables

This is a redo of #1502. I have done some architectural restructuring so that the base Table React component is more generalizable, and I've changed the way components get mounted onto the view (originally was using the react-rails gem, but now going a more native route). Also deleted unnecessary .rjs files (for the original tables) and partials, as well as the students' populate route in route.rb (we now populate by sending an AJAX request to the same url, just requesting it in JSON).
I think you can add semicolon after the last `}`, not after the second last one.
```JavaScript
var a = {
  f: function() {
    return 0;
  }
};
```
It works both way because JavaScript can be semicolon-less (well, almost).