Singleton code

There should only be one SoCo instance for each IP address
Check that SoCo is passed a valid IPv4 address
Deprecate SonosDiscovery and replace with discover function

--HG--
extra : amend_source : c681e5561aa9d33875b3a3476c46254dd72e1dfa