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.

We found with the search stuff that putting in logging at debug level can be very helpful in following what's going on across connections.