Ingest charms in parallel.

This branch also includes the ability to limit the number of charms/bundles
that charmload tries to publish.

Also fix a time UTC issue causing tests to fail locally.
Since the publisher method doesn't spawn its own goroutine, I think
I'd keep things consistent and make this the same, passing
the result channel into the function. Then we'd lose a level
of indentation here, and all the channel close logic would be
visible in the caller.