Improve tests for AbstractDataSource subclasses

These are fairly basic objects with almost no tests, and tests should be straightforward.
I have become very wary of using `setUp` since Mark pointed out to me that `unittest.TestCase.setUp` doesn't use `super()`, which means you need to be very particular about calling all superclass methods explicitly (I keep having flashbacks to Python 1.5 :) )

I'll run through and make the changes, since it's pretty safe in this case.