On the log-addressing branch:  Implement the "block read" feature.

Whenever we read rev file items from disk due caches misses, parse
and cache all data within the same block, i.e. process everything
inside the APR file buffer.  As this uses the phys-to-log index,
block read is only available in logical addressing mode.

For items that can be addressed by (rev, item_index) pairs, block_read
will return the item that was requested in the first place.  Since
representation items may span multiple windows, we can't use this
when fetching txdelta windows.

* subversion/libsvn_fs_fs/cached_data.c
  (aligned_seek): also pass block_start info back to caller
  (open_and_seek_revision,
   open_and_seek_transaction,
   get_fs_id_at_offset, 
   get_root_changes_offset,
   auto_read_diff_version,
   read_plain_window,
   get_contents): update caller

  (get_node_revision_body): let block_read fetch the noderev in logical
                            addressing mode
  (create_rep_state_body): trigger block_read *after* we read the rep header
                           just so that we won't access the same block again
  (read_delta_window): parse the whole block upon window cache miss
  (svn_fs_fs__get_changes): let block_read fetch the changed paths list
                            in logical addressing mode

  (init_rep_state,
   cache_windows,
   block_read_windows,
   read_rep_header,
   block_read_contents): functions to read & cache objects of a rep item,
                         i.e. windows and rep header
  (auto_select_stream,
   block_read_changes): read & cache a changed paths list item
  (block_read_noderev): read & cache a noderev item

  (block_read): main feature function iterating over all items to process

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/log-addressing@1512904 13f79535-47bb-0310-9956-ffa450edef68