csclient: new package

This is the start of the client-side charm store code.

We also factor out the JSON equality checking so that the csclient tests
can use it.

In general I think that it's easier to put logging in at the server level (and we already have debug.Handler for that as well). Perhaps we might want some debugging here in the future when talking to the real charm store, but I think we'll leave it for now.