GlanceMirror: refactor insert_item for easier testing
This change refactors GlanceMirror.insert_item() to allow for easier and
more contained testing. I needed to do this to understand everything that
was going on inside insert_item and other bits of code. There are now four
distinct things happening in it:
1. Download image to a local file from a ContentSource
2. Construct extra properties to store in Glance along with image
3. Prepare arguments for GlanceClient.images.create() call
4. Adapt source simplestreams entry for an image for use in the target
simplestreams index
It should be fully backwards compatible, and test coverage for all the
individual steps should be much better (I admit to it not being perfect,
but it's a step in the right direction, imho at least).