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 this logic is the same as get_grouping state; why not check against `'unmarked'` here?