WIP Cartridge Refactor

* Added application_repository.rb + tests
* Configure/deconfig WIP -- Tests having selinux issue running setup
* Add unit test for v2 model, minor cleanup
* Implement util cgroups methods
* Add comment for v2 destroy
* Mock cartridge WIP
* Fix private endpoint availability checks
* Restore creating git directory
* Mock cart rpm changes
* Use unversioned template for mock
* rename mock template.git to template
* mock cart cuke test
* Add sticky bit to test/coverage directory to avoid issues with oo_spawn tests
* Add NodeLogger
* Get marker steps working
* Add steps for dynamically rendered env entries
* Fix unlock gear
* Removed unused code
* Add checks for default env vars to mock.feature
* Add private endpoints to mock.feature
* Add start/stop/status/restart to mock.feature
* Use marker files for v1 vs. v2 formated cartridges
* Cleanup Sdk class
* Update application_container to read marker files
* New PHP cart WIP.
* Fix path in setup script.
* Load v2 cartridges from isolated location
* Use mock Cartridge instance in tests
* Add note for V2 cart locations
* Added functional tests for lock/unlock
* Test refactor and stdout NodeLogger support
* Add stepdef for v2 default node
* Remove cyclic dependency between container/cart model
* Mock the UnixUser for model test
* Refactor tests to exercise manifest loading
* Add required dirs to locked files list
* Add mock-plugin cartridge
* parameterize mock stepdefs
Automatic commit of package [openshift-origin-cartridge-mock-plugin] release [0.0.5-1].
WIP Cartridge Refactor

* Add mock-plugin feature
* Remove template dir from mock-plugin.spec
* Relax app repo assumptions about templates
* Fix lock/unlock functional tests
* PHP setup/locked_files fixes
* Add remove-cart test in mock-plugin.feature
* Remove the evil redirect
* Add WIP tests for new php cart
* ShellExec fork exitcode fix WIP
* Fix oo_spawn when giving uid
* Code assumed variables were captured by fork block
* Add private-endpoints conceal check for plugin.feature
* Remove unnecessary FrontendHttpServer calls in cart model
* Add openshift config for php.
* Deploy Application Repository/ERBs
* Relax cartridge permissions
* More error checking
* Deploy application repository to app-root/runtime/repo
* Add support for shared opt directory
* Fix logging in v2 model
* Condense mock cuke tests
* Trap exceptions from cuke cart ops and log output on errors
* Cleanup tests
* PHP start wip.
* NodeLogger refactor

Introduce a trace logger and external configuration for the loggers
via the standard node Config object (/etc/openshift/node.conf).

* Don't chgrp locked files to root
* Rename logger config keys
* Override NodeLogger for tests
* Use NodeLogger for all node library logging
* Fix UnixUser.set_selinux_context to work with files and dirs

Refactor UnixUser.set_selinux_context to work with both files
and directories. Previously only worked with directories, causing
the write_ssh_keys function to fail as it passed the authorized_keys
file which was treated as a directory.

* Introduce version param to v2 setup
* Cleanup mock cart setup script
* Add version to mock-plugin setup
* Create run dir.
* Stop changing gear home dir selinux context

Too aggressive on unlocking

* Add new V2 commands
  oo-su
  oo-cartridge CRUD add/delete

User Story US2766: [cartridges-new] oo-cartridge-add
* Test creating correct model
* Use v2 carts with rhc
* Fix unit tests
* mocking did support contract
* Add v2 mock lifecycle test
* PHP fixes.
* Finalize cartridge-list behavior w/ node version
* Remove duplicate mock client tools test
Automatic commit of package [openshift-origin-cartridge-mock-plugin] release [0.0.6-1].
Remove the v2 php cartridge temporarily
Automatic commit of package [openshift-origin-cartridge-mock-plugin] release [0.0.7-1].
Merge pull request #1477 from ironcladlou/dev/cartridge_refactor

Cartridge refactor WIP