Csw client experiment

I've completed my first cut of the CSW client. This is a work in progress, but I want to get it into the master so its visible to anyone watching this space.