Fixing crash from example code in Readme

The example code in the read me would cause a deprecated error when trying to load a page.
FIX Allowing multiple choice votes

Currently, if a user selects more than one choice for a multiple choice
poll only the first choice is recorded.

This is because `PollChoice::addVote()` checks if the user has voted or
not and only records the vote if they haven't but then it marks them as
having voted and all subsequent choices will be ignored.

Now we only execute `Poll::markAsVoted()` after all choices are recorded
Removing reference to missing JS file

polls/javascript/polls.js doesn't exist. Removing reference to it
API Deprecating Poll::isVoted

`Poll::isVoted()` is an unclear function name. We've renamed it to
`hasVoted`
Updated for 3.x standards

Updated the README and templates to use `$`s before variables
Updated the Poll to caluclate max and sum from SS_List functions rather
than raw SQL queries
NEW Abstracting the vote storage layer

Added an abstraction layer to the voting mechanism so that people can
extend the module to use their own logic and storage engine for voters.

Now it is possible to add a vote handler that will only allow Members to
vote (and only vote once) rather than relying on cookies.

Simply change the `Poll.vote_handler_class` config setting to a class
that extends Vote_Backend and you can define any logic to store and
validate votes
Docs update

Adding info about the vote handler in docs
Add composer file.
Merge pull request #16 from TomSpeak/patch-1

Fixing crash from example code in Readme
Merge pull request #17 from TomSpeak/multi-choice-fix

FIX Allowing multiple choice votes
Merge pull request #18 from TomSpeak/patch-2

Removing reference to missing JS file
Merge pull request #19 from TomSpeak/3.x-fixes

Updated for 3.x standards
Merge branch 'vote-abstraction' of https://github.com/TomSpeak/silverstripe-polls into TomSpeak-vote-abstraction

fixes #20

Conflicts:
	Readme.md
	code/Poll.php
BUGFIX: Incorrect function call for markAsVoted

Some left over legacy code slipped through when merging. `Poll::markasVoted()` should be called through the `voteHandler` instead of relying on hard coded cookie storing functionality.
BUGFIX: incorrect `hasVoted()`call now `canVote()`

With the new logic implemented, calling hasVoted() here no longer makes sense. Changed to canVote() which gives the user a lot more flexibility.
BUGFIX: Incorrect logic for showing results

The logic used was not correct for what we were trying to achieve when checking whether or not to show the results.