Cat/Review voting & tests related to it

If you have non-resourceful routes it may indicate that this controller is trying to do too much. In this case, the `CatsController` is now responsible for creating, deleting, and updating votes. It seems like we could define a separate `VotesController` for these actions.