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