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 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
<cron cart> Load env. vars. recursively

cron_runjobs.sh: Recursively load environment-variable directories,
as oo-trap-user does.

In particular, we want cronjobs that run on one gear of a scalable
application to load the environment variables of all cartridges, which
may be in subdirectories of ~/.env/.

This commit fixes bug 1069321.
fix typo
Merge pull request #4811 from jwhonce/bug/1056713

Merged by openshift-bot
Merge pull request #4484 from VojtechVitek/PHP_DocumentRoot_cartridge_card_57

Merged by openshift-bot
Merge pull request #4814 from abhgupta/abhgupta-scheduler

Merged by openshift-bot
Merge pull request #4742 from Miciah/bug-1017248-oo-ruby-does-not-set-up-the-correct-environment-in-a-nested-invocation

Merged by openshift-bot
Merge pull request #4815 from VojtechVitek/fix_typo

Merged by openshift-bot
Admin search API v1
Merge pull request #4810 from jwforres/admin_api

Merged by openshift-bot
Add README for admin api, change size param to limit
Merge pull request #4819 from jwforres/admin_api_readme

Merged by openshift-bot
fix php erb processing bug

bug 1069508 - https://bugzilla.redhat.com/show_bug.cgi?id=1069508
Merge pull request #4818 from VojtechVitek/bug_1069508

Merged by openshift-bot
Team object, team membership

Implement Team.run_jobs

Add type info to member propagation jobs

Explicitly set member type

Remove STI for members

Expect member key

Test membership filtering by Team and CloudUser

Make remove_members work the same as add_members, default members to user members

Make role_for work with teams

Handle type being nil in the datastore for user members

Add test to distinguish type in member operations

Typo

Move pending op

Propagate team changes, expand team members into domain and apps

Add team propagation tests

Initial work to propagate grants

Use mongoid methods

Stop tracking grants

Add test for has_membership_changes? when changing grants without changing calculated roles

Make pending op args more backwards compatible

Update pending op args

Add back role_changed? to has_member_changes? check

Clone submembers when expanding teams, don't propagate teams from domains to applications

Don't propagate teams from domains to apps

Test propagation on team destroy

Ensure we remove team grants from all members when removing a team

Make app member change op work correctly with new pending_op param format

Add escalation/de-escalation tests, fix issue demoting roles from an existing source

Test merging duplicate grant sources

Make teams unique per owner

Make teams accessible if they are a peer member of a domain

Index members by id and type

Change default role on teams to :view
Code review comments
Handle duplicate removes, removal of non-members
Test explicit/implicit role interaction