Card origin_node_39 - Have Watchman attempt honor state of gear

* Improve Watchman plugin contract
* Add protection for flapping
* Update tests
Fix output from decode_connections

Strip off "|$app_uuid|$gear_uuid" from the end of all types of
connections (including TOHTTPS etc), not just from connections without
modifiers.
Bug 1067031 - Do not include old versions of carts in latest carts just because they have a unique software version
python $OPENSHIFT_PYTHON_REQUIREMENTS_PATH ENV VAR

Example of usage:
rhc env-set OPENSHIFT_PYTHON_REQUIREMENTS_PATH=prod-requirements.txt --app <app>

origin_cartridge_card_54 - https://trello.com/c/uUwu8EWL
Merge pull request #4804 from danmcp/dev/bug1067031

Merged by openshift-bot
Merge pull request #4798 from ncdc/master

Merged by openshift-bot
oo-exec-ruby: Set PATH &c. directly, not using scl

oo-exec-ruby: Set the PATH and LD_LIBRARY_PATH variables using straight
Bash code rather than using the scl command.

The OpenShift node platform munges PATH in some places, and a nested scl
invocation will not update the variables.  This fix is necessary so that
when we run oo-exec-ruby, munge PATH, and then run oo-exec-ruby, we get the
ruby193 scl back in the PATH.

This commit fixes bug 1017248.
Bug 1067345 - Make *all commands honor stop_lock

* The *restartall commands didn't honor stop_lock originally to
    support Online Ops usage. They no longer require the specialized
    behavior.
* Refactor to efficiently use ApplicationContainer
Adding Trello
Merge pull request #4776 from jwhonce/origin_node_39

Merged by openshift-bot
Merge pull request #4807 from jwhonce/bug/1067345

Merged by openshift-bot
Cleaning up comments
Merge pull request #4808 from danmcp/master

Merged by openshift-bot
Better comments
Merge pull request #4809 from danmcp/master

Merged by openshift-bot
Merge pull request #4805 from VojtechVitek/python_requirements.txt

Merged by openshift-bot
Bug 1056713 - Remove nil from output
PHP - DocumentRoot logic (optional php/ dir, simplify template repo)

https://trello.com/c/AK1v0o4x - origin_cartridge_card_57
https://trello.com/c/XdJdVHU9 - origin_cartridge_card_138

PHP's Apache DocumentRoot is selected based on the existence of a common
public repo directory in the application code in the following order:
1. php/          # for backward compatibility with OpenShift Origin v1/v2
2. public/       # Zend Framework v1/v2, Laravel, FuelPHP, Surebert etc.
3. public_html/  # Apache per-user web directories, Slim Framework etc.
4. web/          # Symfony etc.
5. www/          # Nette etc.
6. ./            # Drupal, Wordpress, CakePHP, CodeIgniter, Joomla, Kohana, PIP etc.

Add following common library repo directories to PHP's include_path:
- lib/
- libs/
- libraries/
- src/
- misc/
- vendor/
- vendors/

Simplify PHP's Template Repository Layout to:

    index.php         # Template PHP index page
    .openshift/       # Location for OpenShift specific files
        action_hooks/ # Action Hooks
        markers/      # Marker files
        pear.txt      # List of pears to install
        pecl.txt      # TODO: For future PECL support https://trello.com/c/Ja9IcFIb

Other features/fixes:
- implement Apache DocumentRoot & Access Controls cucumber tests
- deprecate deplist.txt in favor of .openshift/pear.txt
- add Directory Layout, DocumentRoot & include_path oo_cartridge_guide documentation
- php bin/control - move duplicated lines to pre_start_httpd_config
- prevent Apache from serving the following internal files/dirs when
  root repo dir is selected as DocumentRoot:
  - $OPENSHIFT_REPO_DIR/.openshift/
  - $OPENSHIFT_REPO_DIR/deplist.txt
- fix PHP's openshift.conf file ownership:
  - migration: upgrade existing apps
  - fix cucumber tests for all *.conf files
- remove obsolete php/ dir checks from cucumber test
- remove obsolete health checks from PHP and Perl
Bug 1069186: handling missing group instance
fix typo