WIP Cartridge Refactor

* Added application_state.rb and environ.rb plus unit tests
* Added README.writing_applications.md
WIP Cartridge Refactor

* Added oo_trap_user.rb
* Update documentation
* Fix application container tests
* Add initial mock cartridge
* Test tidy and destroy
* Added oo-user-ctl-gear
* Refactored application_container to support start/stop/...
* add ApplicationContainer#{add,remove}_cart
Automatic commit of package [openshift-origin-cartridge-mock] release [0.2-1].
wip: mock readme
Automatic commit of package [openshift-origin-cartridge-mock] release [0.3-1].
Automatic commit of package [openshift-origin-cartridge-mock] release [0.4-1].

wip

Re-version mock RPM to 0.0.1

Automatic commit of package [openshift-origin-cartridge-mock] release [0.0.2-1].
WIP Cartridge Refactor

* Added shell_exec_test.rb
* Updated documentation
* Continued platform development
* Fixed killing off timed out commands in shell_exec
* Implement Endpoints to version 2 cart specification
* ApplicationState bug and test fixes
* Use ApplicationContainer in test API
* Added cgroups to oo-trap-user.rb
* Cleaned up raw port of python code of oo-trap-user
* Improved unit test coverage

Move pure unit tests which can be run locally into test/unit. Move "functional" tests
which require root/devenv into test/functional.

Add two new Rake tasks for test executions:
  - unit_test: runs all test/unit tests
  - func_test: runs all test/functional tests
  - test: runs both unit_test and func_test

This establishes a hard line between tests which a developer can run and rely upon
for local development testing and those which are useful only when executed on a
devevelopment instance.

* Change env load order
* Unified runtime cucumber test API

Consolidate cart operation entrypoints through ApplicationContainer and
update the runtime test API to be compatible with both V1 and V2 cart
models.

Update all cartridge manifests to be compatible with the latest cartridge
manifest spec.