On the thunder branch: Greatly simplify the delay strategy / code.

As it turns out, locking and unlocking mutexes as well as broadcasting
signals to waiting threads is quite time consuming even for moderate
numbers of threads.  Hence, we replace apr_thread_cond_timedwait with
a simple sleep.  This has the added benefit of preventing further read
conflicts for some time (delayed readers need some time to catch up
again with the first one).

Moreover, we can do with a single global mutex and can remove the
sync objects from access_t entirely.

* subversion/libsvn_fs_util/thunder.c
  (access_t): Remove sync. objects and update documentation.
  (set_access): No longer needed as a separate, serialized function.
                Merged into caller.
  (get_access): Take start time and thread as parameter such that we
                don't need to retrieve them inside the critical section.
                Also, use them to return the data from the access_t
                object atomically such that we don't need to access it
                outside this serialized function.  Remove obsolete
                serialization code.
  (reset_access): Obsolete as we don't manipulate the key anymore outside
                  get_access.
   remove_access,
   recycle_access): No longer needed as a separate, serialized function.
                    Merged into caller.
  (release_access): Remove access_t from "in progress" list (if still
                    the same the was reported in the token) and put it
                    into the recycler.  No signals etc. required anymore.
  (svn_fs__thunder_begin_access): Use get_access as the sole point of
                                  access serialization and simply wait
                                  until timeout if we weren't the first.
                                  Serialize call to release_access as per
                                  changed contract.
  (svn_fs__thunder_end_access): Serialize call to release_access as per
                                changed contract.


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