Datastore is now an interface using the abc module

Cleaned up datastore module with abc abstractmethod decorators. No need to create NotImplemented methods explictily.
```python
self.assertIn('Zurich', keys)
self.assertIn('CH', keys)
```