On the automatic-pager branch, rework the API that controls the pager.

This is a more recent work-in-progress state of my patch than committed
by breser. It's not final yet but can be tested and tweaked easily.

* subversion/include/svn_cmdline.h
  (svn_cmline_start_pager): Declare.

* subversion/libsvn_subr/cmdline.c
  (close_pager_baton): New.
  (close_pager): New helper function. This is a pool cleanup handler
   that is used to close the pager on process exit.
  (parse_pager_env): Parse the PAGER/SVN_PAGER env vars. Splits arguments
   but heeds single/double quoting and backslash escaping so that paths
   in the pager command line may contain whitespace.
   FIXME: This function currently lacks a docstring.
  (svn_cmdline_start_pager): The public API to enable use of a pager.
   Applies some option hacks for 'less' inspired by git, though I'm not
   sure yet if we'll keep them.

* subversion/svn/blame-cmd.c,
  subversion/svn/diff-cmd.c,
  subversion/svn/help-cmd.c:
  (svn_cl__blame, svn_cl__diff, svn_cl__help): Use simplified pager API.

* subversion/svn/svn.c

* subversion/svn/cl.h,
  subversion/svn/util.c:
  (svn_cl__start_pager, svn_cl__close_pager): Remove code added in r1564998
   superseded by this commit.


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