Feature commandline / api separation

Hi Serge

Over the last couple of weeks I have work with the sonos-java library.
It woks as expected(mostly) but I would like a more clear separation of the client logic and the java api, as the client have lots of dependencies and command line stuff. 
I have pushed 5 patches to handle this, as far as I can see it does not break the old api or any public code.

I hope you have time to take a look at it, and either pull or comment if something is not acceptable.

cheers
Phylock