On the authzperf branch: Interpret the rule paths in the authz parser
and check for rule collisions. Remove the "tng" tag from the authz
structure and parser function.

* BRANCH-README: Update TODO and DONE sections.

* subversion/libsvn_repos/authz.h
  (svn_authz_t): Renamed from svn_authz_tng_t and removed the typedef,
   since a forward declaration exists elsewhere.
  (authz_rule_t, authz_rule_segment_t): New; rule descriptors.
  (authz_acl_t): Removed 'repos' and 'glob' members, and change the
   'rule' member to an authz_rule_t.
  (svn_authz__parse): Renamed from svn_authz__tng_parse.
  (svn_authz__compare_rules): New.

* subversion/libsvn_repos/authz_parse.c
  (parsed_acl_t): Update docstring.
  (ctor_baton_t): Update the type of the 'authz' member.
   Add members 'parsed_rules', 'rule_path_buffer' and 'rule_string_buffer'.
  (interned_empty_string): New static constant. Use everywhere instead of "".
  (insert_default_acl): New.
  (create_ctor_baton): Init new baton members and insert the default ACL.
  (unescape_in_place, intern_pattern): New.
  (parse_rule_path, check_unique_rule): New.
  (rules_open_section): Parse the rule path and check for collisions.
  (compare_parsed_acls): New.
  (svn_authz__parse): Renamed from svn_authz__tng_parse.
   Sort and finalize the ACL array.
  (svn_authz__compare_rules): Implement.

* subversion/libsvn_repos/authz_info.c:
   Update for changes in the authz_acl_t structure.

* subversion/libsvn_repos/authz.c:
   Update for changes in the authz_acl_t structure, and the fact that
   the parser now does much of the heavy lifting needed for per-user
   rule filtering.
  (set_add_string, get_memberships): Removed.
  (access_t): Make the sequence number an int, as per authz_acl_t.
  (has_matching_rule, is_prefix_segment, is_suffix_segment): Removed.
  (ensure_node, ensure_node_in_array): Use rule segments, not strings.
  (compare_segment): Likewise.
  (normalize_wildcards): Removed.
  (insert_path): Update implementation to match the new rule structure.
  (process_acl, create_user_rights): Likewise.
  (authz_user_rules_t): Renamed from filtered_rules_t. Update all uses.
  (svn_authz_t): Removed; use the declaration from authz.h instead.
  (create_authz): Removed, see above. Update all uses.

* subversion/tests/libsvn_repos/authz-test.c
  (rule_string, has_glob): New.
  (test_authz_parse): Renamed from test_authz_parse_tng. Update test case.

* subversion/tests/libsvn_repos/authz.rules: Update rules that became invalid.
   Add a complex glob rule to test the rule path parser.


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