Rework the creation and destruction of svn_wc_context_t within the client library. Specifically, always create a wc_context as part of a client context, and use that internally within the client library.
* subversion/libsvn_client/relocate.c, subversion/libsvn_client/export.c, subversion/libsvn_client/merge.c, subversion/libsvn_client/prop_commands.c, subversion/libsvn_client/ra.c, subversion/libsvn_client/locking_commands.c, subversion/libsvn_client/cat.c, subversion/libsvn_client/copy.c, subversion/libsvn_client/mergeinfo.c, subversion/libsvn_client/blame.c, subversion/libsvn_client/commit_util.c, subversion/libsvn_client/cleanup.c, subversion/libsvn_client/add.c, subversion/libsvn_client/commit.c, subversion/libsvn_client/client.h, subversion/libsvn_client/mergeinfo.h: Don't create a wc_context, just use the one in the client context. Also, adjust function parameter lists and batons to eliminate redundant wc_context members.
* subversion/libsvn_client/ctx.c (svn_client_create_context): Create a wc context.
Allow consumers of the client API to reuse a working copy context.
(Note: This does not update the constructor, since the constructor already sets the entire structure to NULL on initialization. Neat, eh?)
* subversion/include/svn_client.h (svn_client_ctx_t): Add new svn_wc_context_t member.
* subversion/libsvn_client/locking_commands.c (svn_client_lock, svn_client_unlock): Conditionally create and destroy the working copy context, only if the caller hasn't provided one.