Make the StubStore more asynchronous.

Before this change, the read and write functions behaved synchronously, which permitted bugs that could otherwise have been caught. With this change, those methods now queue their responses on the scheduler. This change also cleans up some links between the various *Stub and *Checks classes.
Make Transaction and Fetch iterator friendly.

Permit overloading on the second parameter list for fetch. Scala uses only the first parameter list when resolving overloaded methods. The TableDescriptor must be in its own parameter list, and it must occur before the keys, otherwise the compiler emits confusing error messages when the types of the TableDescriptor and keys do not match.
Index the titles and names in lower case.
Add search by title and name.
Add benchmark for logging.