Allow voting on reviews

First draft, posting a PR mainly since I have a few questions, and for some early feedback. 
![rate_reviews_1](https://cloud.githubusercontent.com/assets/2644780/3867707/5265ae9c-200b-11e4-83eb-ac71a6d84bc3.png)

You shouldn't match on the text since it can lead to bugs if someone changes the text later. A better alternative is to add a css class to each button and match on that instead. The problem with matching on text is that such a change is generally not expected to modify program behaviour (and is more likely to change), whereas changing a class name is expected to have ramifications on css rules matched and code paths in JS logic. Thus, programmers are more likely to grep the codebase for affected places when they change class names compared to text changes.