Improve tests for AbstractDataSource subclasses

These are fairly basic objects with almost no tests, and tests should be straightforward.
It would be good to add a test that calls `__getstate__` with `self.persist_data = False`. That code is currently never exercised.