Limit grant flows

For now MyUSA will only support `authorization_code` grant flow.
Initial pass at non-public/sandeboxed client applications

This isn't actually working yet. Specs to test this functionality have been marked pending
Allow user to update profile as part of the OAuth flow

- created text fields in the authorizations page that correspond to profile fields from requested scopes
- disabled text fields that are already filled out (can change styling so that they don't look like text fields)
- use profile.update_attributes with whitelisted profile hash to save fields
- model, controller, and capybara tests where appropriate
- removed a few unused methods
- TODO: organize FIELDS and METHODS constants in profile so it's easier to access them elsewhere
capture profile validation failure and display errors

Redirect back to authorization page when profile.update_attributes(...) fails. Call the redirect with the same OAuth authorization params and set flash message to error.
Merge branch 'devel' into feature/update-profile-in-oauth-flow

Conflicts:
	spec/features/doorkeeper/oauth_spec.rb
Minor refactor to profile save in AuthorizationsController
Merge branch 'devel' into feature/oauth-sandbox

Conflicts:
	spec/features/doorkeeper/oauth_spec.rb
Implement Private/Sandboxed Apps

- migration to add public field
- added current_user in initialization of Doorkeeper::OAuth::Client
- method on Doorkeeper::OAuth::Client to check validity of the client app for the current user
- override Doorkeeper::OAuth::PreAuthorization#validate_client to check client.valid_for?(...)
Merge branch 'devel' into feature/update-profile-in-oauth-flow

Conflicts:
	app/helpers/oauth_helper.rb
	app/views/doorkeeper/authorizations/new.html.erb
	spec/features/doorkeeper/oauth_spec.rb
	spec/support/page_objects/oauth2/authorization_page.rb
Merge branch 'feature/oauth-sandbox' into devel

Conflicts:
	app/controllers/oauth/authorizations_controller.rb
	spec/features/doorkeeper/oauth_spec.rb
Merge branch 'devel' into feature/manage-profile

Conflicts:
	app/assets/stylesheets/myusa.css.scss