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.
Does it need to keep the namespace?