node-proxy: Stop on remove, restart in upgrade

Change the openshift-origin-node-proxy package to stop the
openshift-node-web-proxy service that it includes when the package is
removed.

Change openshift-origin-node-proxy to condrestart (restart
if already running) openshift-node-web-proxy when the package is
upgraded.

This commit fixes bug 1060274.
Bug 1067008 - Delete gear when missing a Cartridge Ident
Bug 1074627 - Removed unnecessary output
oo-diagnostics: improve suggestion for mco-client.log

https://trello.com/c/CBLIqG00/214-1-oo-diagnostics-improvements

When noting that the mco client log permissions are wrong, we now
suggest they might just not want to log to a file at all.
oo-diagnostics: detect more common selinux problems

https://trello.com/c/CBLIqG00/214-1-oo-diagnostics-improvements
There are some common SELinux labeling issues that we can catch here;
if we don't, then debugging the resulting problem can be really tricky.
The most annoying ones are when administrators copy a conf file to
their home dir or /tmp, edit that, and them move it back into place,
giving things like /etc/hosts or broker.conf the wrong label.
oo-diagnostics: warn re vmware-tools on mco unsynced warning

https://trello.com/c/CBLIqG00/214-1-oo-diagnostics-improvements

When vmware-tools is in place, it can conflict with ntpd in trying to
manage the host clock. Warn the admin if this may be happening (but only
if mco is already dropping expired messages).
oo-diagnostics: handle missing host command

https://trello.com/c/CBLIqG00/214-1-oo-diagnostics-improvements

Some of the more important tests depended on the "host" command.
This change causes them to fail gracefully when it's not there.
oo-diagnostics: warn on node.conf/envvars mismatch

https://trello.com/c/CBLIqG00/214-1-oo-diagnostics-improvements

Sometimes admins update their settings in /etc/openshift/node.conf but
don't realize that the gears get the same settings from
/etc/openshift/env vars. Check broker and cloud domain match.
oo-diagnostics: remove enterprise RPM test from origin

https://trello.com/c/CBLIqG00/214-1-oo-diagnostics-improvements

The test for OpenShift Enterprise RPMs really doesn't belong here.
We can just add it in at the Enterprise project.
oo-diagnostics: refactor test for executable commands
oo-diagnostics: detect unreadable apache conf files

https://trello.com/c/CBLIqG00/214-1-oo-diagnostics-improvements

Sysadmins were sometimes running through the deploy or post-deploy with
a umask such that the conf files being created were not readable by
apache. This can cause a lot of annoying problems. Try to detect this.
Merge pull request #4961 from jwhonce/bug/1067008

Merged by openshift-bot
Merge pull request #4962 from jwhonce/bug/1074627

Merged by openshift-bot
Make dep handling consistent
Merge pull request #4963 from sosiouxme/oo-diag-enhance

Merged by openshift-bot
Modify some test setups to work correctly in Origin context
Merge pull request #4965 from UhuruSoftware/master

Merged by openshift-bot
Merge pull request #4964 from danmcp/master

Merged by openshift-bot
Merge pull request #4966 from nhr/test_fixes

Merged by openshift-bot
Added User pending-op-group/pending-op functionality
Added pending op groups for user add_ssh_keys/remove_ssh_keys

lock_user/unlock_user changes:
 - pass user.id/app.id instead of user/app mongoid objects.
   This will help anyone with bson id does not have to fetch corresponding mongoid model to acquire user lock (eg: oo-admin-repair)
 - app.id is optional to acquire user lock. Once user lock is acquired, no one should get application lock to avoid deadlocks.

Any pending op related to capabilities will be protected by application and user lock or just user lock if app is not involved.

Fix oo-admin-clear-pending-ops: Use run_jobs for user and app

Fix oo-admin-ctl-user: Take user lock for updating user capabilities

Fix test cases

Added new test cases for Lock model

Default app_user_lock timeout is 15 secs and default user_lock timeout is 15 secs. User lock with heavy ops like plan update has timeout of 30 mins similar to app timeout.

More fixes + cleanup