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.
This seems fine for now, but once this work is done this rescue should probably be removed so we don't accidentally have any error strings that are not in the translation files.