Fix for #1275 - Adding ApiController

This change includes the basic properties that we're providing for
compatability as well as some functional tests and unit tests that verify
that ApiController can be a controller class.
We're going to skip docs on all of these WebAPI features for now other than just copying stuff over.