Add tests which show the failing behavior master
The SQLiteStorageEngineTest succeeds, because its implementation of `readDataAndKeys` does not rely on the fault logic inherited from the default implementation on `StorageEngine` The DiskStorageEngineTest fails. Only five keys exist in the database (`0`, `1`, `2`, `3`, and `4`). However, 10 get requested in reverse order. The faulty logic means that key `9` gets the data associated with key `4`, key `8` with key `3`, and so on down to key `5` getting the data meant for key `0`. This means that comparing the returned _keys_ fails, but the comparing the returned _data_ succeeds. The ObjectStorageTest fails, for similar reasons. It is also using `zip()` to construct the returned array, blindly assuming that the object retrieved for each key exists.