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.

This test is surprising and should be described.  Why are the results different from the previous one?