Split out front-end voting to partials

We plan to use different partials for different Voting strategies.
We now have a partial giving the table + chart for the Basic Voting,
which can be easily replaced by another voting strategy.
Remove hard-coded values

We were previously hard-coding the VotingStrategy in Poll.js
We now properly fetch it from the Session object (and set it on a POST).
Different poll types will be created by posting to different urls.
Move VotingStrategy selection to front-end
Introduce new points-based table

Replaces the "Vote" button with a "- 0 +" button group, to increase or
decrease the points given to an option.
Add SessionPointsVoteController

Introduces a controller to handle getting all PointsVotes for a given
session. Currently all methods return MethodNotAllowed
Revert "Add SessionPointsVoteController"

This reverts commit c6e88995a75c8e95fe017a40688163945351ce81.
Add Value to Votes

Adds a "Value" category and defaults it to 1.
Different voting strategies can hijack this to use for their own ends
(such as ranks, points, etc.)
"PUT List<Vote>" instead of "PUT Vote"

Users can now vote for multiple items in a single session in some
Voting Strategies. When we PUT to create a vote, we need to push multiple
votes instead of just the one.
Small changes to basic vote and poll to prepare for STV
Basic framework for front end to voting
"PUT List<Vote>" instead of "PUT Vote"

Users can now vote for multiple items in a single session in some
Voting Strategies. When we PUT to create a vote, we need to push multiple
votes instead of just the one.
Remove console log from basicvote
Ranked page interacts with back end
Enable increasing and decreasing of votes

Hooks in a new knockout array to represent the points per option, and
has the increase/decrease methods alter the value for a given row.

Adds limits to stop values from exceeding 3 points per vote, 7 points
total, or from becoming negative.
Small changes to poll.js to ensure everything has loaded before trying to display page elements
Glue it all together

Hooks up the back end to write the points votes to the database, and the
front-end to chart the results
Fix chart tooltip

Displays the number of points a single option has, with a list of who
voted for it.
- Renames value to pollValue
- Front end now interacts successfully with back end
Update with previous user votes

After logging in, the previously votes are added back to the pointsArray
and the buttons are updated as required.
Fix unit tests