Fix I18n specs.

Check defined?(:config_locale) instead of respond_to?(:config_locale) which always returns false.

Also refactor common controller helper to use ActiveSupport::Concern.