Improve tests for AbstractDataSource subclasses

These are fairly basic objects with almost no tests, and tests should be straightforward.
What is in the state depends upon how the class has been used up until this point.  I'd rather leave that indeterminate and untested.  If we were specifically doing something to ensure that particular attributes were in the state, then I would want to explicitly test for those attributes.

Basically, we trust that all other things being equal, what should be in the state is in the state, and that's Traits/Python's responsibility to get right.