[DO NOT MERGE] Allow cartridges to be stored in Mongo

Also significant refactoring to the create/add cartridge flows in the
controllers, in an attempt to centralize and simplify some of the logic.

Fixed a few performance issues with cartridges being refetched from the caches as well.

[test][extended:broker,site]