Support i18n in CC

This patch includes the code to introduce i18n into CC, contains:
(1). i18n init code
(2). Change the base controller to accept new HTTP_ACCEPT_LANGUAGE param
     which identifies the locale of request client
(3). Enhanced ApiError class to translate the error message for REST API
     response.

This patch does not include concrete REST API controller changes to
enable i18n. The changes of concrete REST API controllers' changes
will be submitted in other patches.
Return 404 instead of 500 on get for invalid broker guid

[#75745096]
Allow admins to craete private domans even when feature is disabled

[#76957676]
Fix specs to expect a 403 on feature disabled
Remove overridden and default_value from feature flag responses

[#76893718]
Updated API docs for feature flags to describe enabled and disabled state

[#76894522]
Move all FeatureFlag checks to access

* resource match controller has no access
* organization creation will not raise (backward compatible)

[#75633766]

Signed-off-by: Eric Malm <emalm@pivotal.io>
Merge branch 'support_i18n' of git://github.com/xingzhou/cloud_controller_ng into xingzhou-support_i18n

 - Update base_controller_spec changes to fit in with new style of tests in this spec
 - Also test for never_Neverland as locale instead of en_US to avoid potential false positives due to en_US being the default

Signed-off-by: Michael Fraenkel <fraenkel@us.ibm.com>

Conflicts:
	lib/cloud_controller/config.rb
	spec/unit/controllers/base/base_controller_spec.rb
	spec/unit/lib/cloud_controller/config_spec.rb
Clean up internationalization changes

 - Get rid of deprecation warning (and test we can handle new default for enforce_available_locales)
 - Move setting up of internationalization in to ApiError class so that it gets tested by api_error_spec
 - Ensure locale header is set in front_controller rather than base_controller so that requests that don't go via base_controller (such as 404s) also get i18n-ed error messages
 - Fix up some test pollution by reloading i18n backend in setup

[#74023440]

Signed-off-by: Michael Fraenkel <fraenkel@us.ibm.com>
Support special characters in staging_upload auth

 - To avoid breaking users who currently supply username/password already-encoded in the config file, only kicks in if the current value is not already validly encoded
 - This means it remains possible to simply specify url-encoded users and passwords in the config file, but if users do supply unencded values we'll attempt to do the encoding ourselves rather than blowing up

Fixes issue reported in #245

[#71526114]

Signed-off-by: Michael Fraenkel <fraenkel@us.ibm.com>
Remove dead SpacesController::ServiceSerialization module

[#67279870]

Signed-off-by: Michael Fraenkel <fraenkel@us.ibm.com>
Refactor LocalQueue

Signed-off-by: Zach Robinson <zrobinson@pivotal.io>
Remove order dependence on Space query

Signed-off-by: Julian Friedman <julz.friedman@uk.ibm.com>
Add test to ensure that a SpaceDeveloper cannot move a service instance to another space.

[#76319590]
Return correct url for associations with user provided services

[#76380512]
Remove experimental from space quota definition API docs

[#76072608]
Only check the feature flag when creating routes

Signed-off-by: Julian Friedman <julz.friedman@uk.ibm.com>