Centralize plug-in configuration

Change all plug-ins to get their configuration from
/etc/openshift/plugins.d/*.

The motivation is that an administrator should not need to edit Ruby code
in order to configure the broker.  This is US2783 on Rally.

Currently, to set up or maintain a broker, an administrator must edit
development.rb, Gemfile, and .rb files under
/var/www/openshift/broker/config/environments/plugin-config/.  This
situation presents two problems:

• An administrator must deal with Ruby and Gemfile syntax to configure
   the broker.

• The modification that the administrator performs is performed on files
  that we developers may change.  Consequently, we have two choices:

   • Mark these files as config files in the RPM .spec, and expect
     administrators to import developers' changes on upgrades.

   • Don't mark these files as config files, which means that we will
     overwrite administrators' changes on upgrades.

   Currently, we take the latter option, but both options are bad.

The patch changes the Ruby code to read from configuration files under
/etc/openshift.  Following are the changes.

• The patch modifies the OpenShift::Config class.  This class was already
  used for reading /etc/openshift/node.conf on the node, and it reads
  configuration files of a line-based, key=value format.

• OpenShift::Config is changed from a singleton class to a regular class.
  Instead of OpenShift::Config.instance, users should now use
  OpenShift::Config.new.

  An .instance method is implemented that just calls .new, so
  OpenShift::Config behaves like a singleton (it just lies about its
  uniqueness) for legacy code that hasn't been changed to use .new.

• Because it is used on both the broker and the node now, OpenShift::Config
  is moved from openshift-origin-node to openshift-origin-common.

• A user of OpenShift::Config can now pass the path of an alternative
  configuration file to OpenShift::Config.new.  This path is generated
  as follows:

   • plug-ins use

       File.join(OpenShift::Config::PLUGINS_DIR, 'foo.conf')

     to get

       '/etc/openshift/plugins.d/foo.conf';

   • other code uses

       File.join(OpenShift::Config::CONF_DIR, 'foo.conf')

     to get

       '/etc/openshift/foo.conf';

   • and for backwards compatibility with current users, the default if no
     argument is passed to .new is to read from '/etc/openshift/node.conf'.

• A plug-in "foo" is automatically enabled when the file
   /etc/openshift/plugins.d/foo.conf is present.

• The "foo" plug-in uses the OpenShift::Config to read values from this
  'foo.conf' file; the plug-in does this work in a Rails initializer.
rename max_scale/min_scale to scales_to/scales_from
Cartridge Fix for BZ807443

In client_results, return env var names rather than values.
Merge pull request #638 from rajatchopra/master

Merged by openshift-bot
updated ews cart
Merge pull request #643 from bdecoste/master

Merged by openshift-bot
Documentation updates

Remove references to hot deployment functionality, which is not
currently supported.
Merge pull request #645 from ironcladlou/node-hot-deploy-docs

Merged by openshift-bot
Fix for Bug 865358

rename job files to expected values from spec file.
Merge pull request #635 from Miciah/etc-plugin-conf12

Merged by openshift-bot
Fix for bug# 863973
Merge pull request #648 from jwhonce/dev/bz807443

Merged by openshift-bot
fix for mongo auth plugin spec file
Merge pull request #649 from abhgupta/abhgupta-dev

fixing mongo auth plugin spec file and express.conf setup
Automatic commit of package [openshift-origin-broker] release [0.6.14-1].
Automatic commit of package [rubygem-openshift-origin-auth-remote-user] release [0.0.9-1].
Automatic commit of package [rubygem-openshift-origin-auth-mongo] release [0.8.9-1].
BZ 864519: Fix for git push failing for scalable apps w/ dbs.
Automatic commit of package [rubygem-openshift-origin-dns-bind] release [0.8.11-1].
Merge pull request #647 from jwhonce/master

Merged by openshift-bot