Handle unauthorized errors

Resolves #59. However, doorkeeper doesn't properly handle 403s where a user has a valid token, but the incorrect scope to access a resource. I'm working on a patch to fix that.
Possible refactor here.

``` ruby
require 'spec_helper'

def setup_controller(api_controller)
  api_controller.controller do
    yield(self) if block_given?

    def index
      render json_api: { tests: [ { all: "good" }, { at: "least" }, { thats: "what I pretend" } ] }
    end
  end
end

describe Api::ApiController, type: :controller, focus: true do

  describe "without doorkeeper" do
    setup_controller(self)

    it "should return 200 without a logged in user" do
      get :index
      expect(response.status).to eq(200)
    end
  end

  describe "with doorkeeper" do
    setup_controller(self) { |controller| controller.doorkeeper_for :index, scopes: [:public] }

    it "should return 401 without a logged in user" do
      get :index
      expect(response.status).to eq(401)
    end
  end
end
```