New namespace for the controllers to live in
Start of some OAuth stuff
Change to use exceptions for error handling
Marginally cleaner by using subclasses for the OAuth errors
Added Yard documentation
Moved the OAuth2 controller to it's own namespace
Separated out some of the OAuth 2.0 code into it's own file and
namespace, to start doing it properly