Split form into partials, added controller test

Also, be more explicit in naming these methods. ```upvote``` doesn't tell what this code actually does.

For example:  ```user_voted``` or whatever you choose.