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.
Cartridge Fix for BZ807443

In client_results, return env var names rather than values.
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
Merge pull request #635 from Miciah/etc-plugin-conf12

Merged by openshift-bot
Merge pull request #648 from jwhonce/dev/bz807443

Merged by openshift-bot
adding cgroups management to node
Fixed broker/node setup scripts to install cgroup services.
Fixed mcollective-qpid plugin so it installs during origin package build.
Updated cgroups init script to work with both systemd and init.d
Updated oo-trap-user script
Renamed oo-cgroups to openshift-cgroups (service and init.d) and created oo-admin-ctl-cgroups
Pulled in oo-get-mcs-level and abstract/util from origin-selinux branch
Fixed invalid file path in rubygem-openshift-origin-auth-mongo spec
Fixed invlaid use fo Mcollective::Config in mcollective-qpid-plugin
Making openshift-origin-msg-broker-mcollective a Rails engine so that it can hook into Rails initializers
Making openshift-origin-dns-bind a Rails engine so that it can hook into Rails initializers