resize: Move isatty_stdout function to separate module (TTY.isatty_stdout).

It was jammed into the Progress module just for convenience.
internal: Add CLEANUP_XMLFREEURI (cleanup function for xmlURIPtr).
fish: Don't store xmlURIPtr directly in the drive struct.

Original drv_uri fields:

      xmlURIPtr uri;        /* URI */
      char *socket;         /* ?socket parameter from URI. */
      const char *format;   /* format (NULL == autodetect) */

New drv_uri fields:

      char *path;           /* disk path */
      char *protocol;       /* protocol (eg. "nbd") */
      char **server;        /* server(s) - can be NULL */
      char *username;       /* username - can be NULL */
      const char *format;   /* format (NULL == autodetect) */
      const char *orig_uri; /* original URI (for error messages etc.) */

This is just code motion.
fish: options: Fix optarg -> arg.

Don't read the global variable optarg.  Read arg instead.
(In all cases they are the same, so this bug made no difference).
fish: Split off URI handling (for -a argument) from general options parsing.

This is so we will be able to reuse the same code in the OCaml tools.

This is just code motion.
resize: Add bindings for the guestfish -a URI parsing mini-library.

This allows -a options to be parsed from OCaml programs, reusing
the same code that is being used by C.
sysprep: Allow -a URI options to be used (RHBZ#968875).

This allows you to sysprep a remote guest by doing eg:

  virt-sysprep -a ssh://remote.example.com/disk.img
fish: Fix guestfish so it can recognize sheepdog://... as a valid URI.

Because "sheepdog" is 8 characters, it wasn't recognized before.
fish: Add a test for -a URI options.
tests: fish: Add valgrind testing to various existing tests.

This involves running ./guestfish under $VG (== valgrind + options,
defined only when check-valgrind is run).
Version 1.23.12.