Initial checkin of config module

A simple config system. You can set config variables as follows:

```python
from soco import config
 ...

config.CACHE_ENABLED = False
```

Currently, only two config variables are defined, CACHE_ENABLED, and SOCO_CLASS. The former controls the cache (!). The latter specifies the class to use when creating instances (e.g. during `discover`).
I don't really like the fact that this well-encapsulated class now depends on some global state...

We could instead do something like

````python
@property
def CACHE_ENABLED():
    return _cache_enabled

@CACHE_ENABLED.setter
def CACHE_ENABLED(value):
    if value:
        soco.services.zone_group_state_shared_cache.__class__ = TimedCache
    else:
        soco.services.zone_group_state_shared_cache.__class__ = NullCache
````
With ``NullCache`` being a cache that never returns or stores anything.