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.

Isn't 'csclient' a bit redundant since it is part of juju/charmstore? You do name the struct Client not CSClient. <shrug>