Resolve issue #2775, by providing an api that allows removing cached
credentials for our api users.

As our credentials are keyed by 'realm' and the exact format
is provider specific I added a simple iterator over the cached
credentials, so a client can provide a UI on top, or simply guess
which ones to delete by checking if they contain a specific url.

* subversion/include/svn_auth.h
  (svn_auth_cleanup_callback): New typedef.
  (svn_auth_cleanup_walk): New function.

* subversion/libsvn_subr/auth.c
  (includes): Add auth.h
  (svn_auth_cleanup_walk): New function.

* subversion/libsvn_subr/auth.h
  (svn_auth__file_path): New function.
  (svn_auth__simple_cleanup_walk): New function.

* subversion/libsvn_subr/config_auth.c
  (auth_file_path): Rename to ...
  (svn_auth__file_path): ... this and make library public.
  (svn_config_read_auth_data): Update caller.
  (svn_config_write_auth_data): Update caller.

* subversion/libsvn_subr/simple_providers.c
  (includes): Add several.
  (svn_auth__simple_cleanup_walk): New function.

* subversion/tests/libsvn_subr/auth-test.c
  (includes): Add svn_auth_private.h.
  (cleanup_callback): New function.
  (test_auth_clear): Extend to verify the credential is really gone.


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