More work on test_rnd1

Define the test_case struct and implement multiple test chaining
Add notion of direct read/write to test_case and implement
  different strategies during reads and writes
Move the iterator functions around and change the init function to
  use page_list instead of buffer