Use Data API 7 - Be compatible with old read-only methods, too

As I was thinking about how to handle ShellCommand subclasses, I realized that supporting `getLog`, `getText`, etc. isn't so hard.  I verified that this works with the *old* version of all of the steps that I've rewritten to use LogObservers, and even included two of them as integration tests.