On the thunder branch:  Add an instance of the new thunder registry to
the FSFS module.  Use that to coordinate access to represenations as
this is the part where the most file handles will be instantiated.

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__get_thunder): Declare a getter for the THUNDER registry.

* subversion/libsvn_fs_fs/fs.c
  (thunder): The only instance for the whole FSFS module.
  (reset_thunder): A new cleanup function to detect module unload races.
  (svn_fs_fs__get_thunder): Implement the new getter.
  (svn_fs_fs__init): Initialize the static THUNDER registry.

* subversion/libsvn_fs_fs/util.h
  (svn_fs_fs__thundered_cache_get): Declare a new utility that makes the
                                    use of the THUNDER registry about as
                                    easy as a cache access.

* subversion/libsvn_fs_fs/util.c
  (svn_fs_fs__thundered_cache_get): Implement.

* subversion/libsvn_fs_fs/cached_data.c
  (create_rep_state_body): Use the new wrapper function to add full
                           THUNDER awareness.


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