Fix non-existent block form on click_button, etc
- Tests were incorrectly passing because code in blocks wasn't being run
- Add validation on vote for user and voteable
- Add shoulda tests to match & remove outdated shoulda tests
- Convert tabs to spaces in /spec