Move Controller tests into Controllers/ directory
Introduce UserVoteController

Fetches votes for a given user.
Refactor /user/{x}/vote/{x}/

Reuses the result from /user/{x}/vote/ to avoid repeating the userExists
code.

Adds a test that the output error message is the expected message, when
a 404 occurs.

Also removed a stray ref to System.Net.Http.Formatting (again), as we
have 2 references to the lib. One to 5.2.0.0, one to 5.2.2.0.
Hooks up the UserVote route

Adds the path the the UserVoteController to our web config, to allow
API calls to be made through the URI.
Introduce WebApiController

Creates a common base-class which handles the constructors, and marks
all API methods as "405 MethodNotAllowed"

This is primarily for testing, but also to consolidate the constructors
Test PUT, POST and DELETE not allowed

Adds tests to all current controllers that PUT, POST and DELETE return
"405 MethodNotAllowed".

Also updates UserVoteController to use the WebApiController.
Allow POST to /api/user

Allows a new user to be POSTed and inserted into the database, so long
as it is unique.
Explicitly disallow POST and POST by id

Previously we were not passing in an argument, or only passing in an id
however we have not implemented POST in this way. We now change the
MethodNotAllowed to catch these attempts in the same way as our API.
Swap PUT and POST for /api/user

The main difference here is that a PUT of an existing user will return
the existing user ID, rather than raising an error.

This should make logging in much easier.
PUT votes for users

Hooks up the PUT to allow voting, and makes the GET fetch the User +
Option types when a vote is requested.
Replace vote with PUT

Sending two PUT requests now has the same effect as sending one.
Hook up front-end for voting

Adds a login and voting buttons for the options.
Submit name on return

Entering a name followed by the return key now submits the name
Merge pull request #11 from tpkelly/develop

Enable voting for items