charmload: some refactoring to address review comments

We add the capability for charmload to take parameters from the same
config file that charmd uses, splitting the config reading code into a separate
package to enable that.

Various other changes as suggested in review.

Some tests will arrive in the next PR - for now, I've done
some verification on the command line.

We use URL instead of Reference in names elsewhere in the code, even though we use charm.Reference everywhere (I consider charm.URL to be more hassle than it's worth), so this has precedent. I might be tempted to normalise all those names to use "Id" rather than URL, but that would be another PR - for the time being I think it's good to be (at least slightly) more consistent.