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.