Move cartridges into Mongo

Cleans up group_override flow throughout the code
Move storage of downloaded cart info to the component_instance
Persist gear size and addtl_fs_gb storage on the group instance
When adding a cartridge, track the ID of the cart all the way through
Allow all application options to be passed to create on REST API
Allow all relevant cart settings to be passed to cart add on REST API
Support cartridge upgrade (simple) via update_requirements
Allow domain to be created on app create via REST API
Remove Profile from the cartridge model
Disallow creating cartridges with more than one component
Add many more unit tests for app and cartridge logic

Implements origin_broker_193
Allow gemspecs to be parsed on non RPM systems (like the rest of cartridges)
Merge remote-tracking branch 'origin/master' into origin_broker_193_carts_in_mongo

Conflicts:
	controller/app/controllers/cartridges_controller.rb
	controller/app/models/application.rb
	controller/test/cucumber/rest-applications.feature
Add external cartridge support to model

Ensure that imported downloadable cart manifests make it all the way
to the component creation.
Decorate some objects with more metadata.
Allow cartridges to be retrieved by id
Merge remote-tracking branch 'origin/master' into origin_broker_193_carts_in_mongo
Add external cartridge support to model

Ensure that imported downloadable cart manifests make it all the way
to the component creation.
Decorate some objects with more metadata.
Allow cartridges to be retrieved by id
Typo in init_gear_op and missing join! for async
Display more helpful info into operation execution
Return an attribute for cartridges that don't receive security updates
Merge remote-tracking branch 'origin/master' into origin_broker_193_carts_in_mongo

Conflicts:
	controller/app/controllers/cartridges_controller.rb
	controller/app/helpers/cartridge_cache.rb
	controller/app/models/application.rb
	plugins/msg-broker/mcollective/lib/openshift/mcollective_application_container_proxy.rb
Support --node correctly on oo-admin-ctl-cartridge

Add --dry-run
Add added_time to embedded cartridges for knowing when they were added
to an application.
Use some better caching in the cartridge_cache
Add SHOW_CARTRIDGE_BY_ID for future proofing
Merge remote-tracking branch 'origin/master' into origin_broker_193_carts_in_mongo

Conflicts:
	broker/test/functional/node_selection_plugin_test.rb
Fix failing test, add an LRU cache for cart by id
Merge pull request #4590 from smarterclayton/origin_broker_193_carts_in_mongo

Merged by openshift-bot