On the authzperf branch:  Implement O(1) lookup for sibbling paths.

The idea is to simply remember the parent path of a lookup in the
lookup state.  The associated nodes are already available in that
struct and the access rights can be added easily.  Storing and
checking that info is pretty cheap while a tree walk is relatively
expensive.

* subversion/libsvn_repos/authz.c
  (lookup_state_t): Add members to remember the path and rights for
                    the parent of the last lookup.
  (create_lookup_state): Update constructor.
  (init_lockup_state): Implement the parent path matching test in
                       the state initialization code.
  (lookup): Remember the parent path lookup results.
  (get_filtered_tree): If we have a path to walk try to reuse data
                       from previous lookups.
  (svn_repos_authz_check_access): Update caller.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/authzperf@1615456 13f79535-47bb-0310-9956-ffa450edef68
On the authzperf branch:  Speed up authz-aware 'svn log' by sorting the
paths before checking them.  This lets the recent O(1) authz lookup
optimization for sibbling paths kick in.

* subversion/libsvn_repos/log.c
  (check_changed_path): Factored out loop content of ...
  (detect_changed): ... this. Use sorted iteration when applying authz.

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