Allow downloadable cartridges to appear in rhc cartridge list

Implements: Trello card origin_broker_184

An administrator can import a downloadable cartridge in the broker via a new
oo-admin-ctl-cartridge command.  That cartridge can then be specified by name
at creation time.  Some additional cleanup to unit tests and application
also pave the way for future improvements to elaboration and cartridge tagging.

Adds a unique index on db.applications [domain_id, name] to do uniqueness at
the mongo level.

Fixes: Bug 1052829 - Made help and man page identical for oo-admin-ctl-cartridge
Bug 1054574 - Clear cache on (de)activation
Bug 1052829 - Fix example text in oo-admin-ctl-cartridge man
Remove component_(start|stop|configure)_order from Mongo

Fields are unused in practice, and going forward we will not be using them.
Merge remote-tracking branch 'origin/master' into add_cartridge_mongo_type

Conflicts:
	controller/app/helpers/cartridge_cache.rb
Add an additional failing test for cart output
Merge pull request #4512 from smarterclayton/add_additional_failing_test

Merged by openshift-bot
Merge pull request #4412 from smarterclayton/add_cartridge_mongo_type

Merged by openshift-bot
Merge remote-tracking branch 'origin/master' into cartridges_in_mongo

Conflicts:
	broker-util/man/oo-admin-ctl-cartridge.8
	broker-util/man/oo-admin-ctl-cartridge.txt2man
	broker-util/oo-admin-ctl-cartridge
	broker/test/functional/application_controller_test.rb
	broker/test/functional/cartridges_controller_test.rb
	broker/test/functional/emb_cart_controller_test.rb
	broker/test/integration_ext/removed_nodes_app_fixup_test.rb
	broker/test/unit/application_test.rb
	broker/test/unit/broker_auth_test.rb
	broker/test/unit/cartridge_type_test.rb
	broker/test/unit/helpers/cartridge_cache_test.rb
	broker/test/unit/subscription_test.rb
	common/lib/openshift-origin-common/exceptions/oo_exception.rb
	common/lib/openshift-origin-common/models/cartridge.rb
	common/lib/openshift-origin-common/models/component.rb
	common/lib/openshift-origin-common/models/profile.rb
	controller/app/controllers/applications_controller.rb
	controller/app/controllers/emb_cart_controller.rb
	controller/app/helpers/cartridge_cache.rb
	controller/app/models/application.rb
	controller/app/models/cartridge_instance.rb
	controller/app/models/cartridge_type.rb
	controller/app/models/component_instance.rb
	controller/app/models/domain.rb
	controller/app/rest_models/rest_cartridge.rb
	controller/app/rest_models/rest_embedded_cartridge.rb
	controller/app/rest_models/rest_embedded_cartridge15.rb
	controller/test/support/node_stubs.rb
	node/test/unit/node_test.rb
More test cases for proper app creation

Fix test cases