zpoolparty: Execute ZFS dataset commands transparently across pools/hosts

The command syntax is the same as the standard "zfs" command, except that
instead of specifying datasets in pool/filesystem[@snapshot] form, you can
prepend host:. For example,

  $ zpoolparty snapshot bos:mypool/work@today

is translated into

  $ ssh bos zfs snapshot mypool/work@today

A single command can reference filesystems on multiple hosts. For example,

  $ zpoolparty get mountpoint mypool/foo bos:mypool/work lax:mypool/play

is, in turn, translated into three commands, run sequentially:

  $ zfs get mountpoint mypool/foo
  $ ssh bos zfs get mountpoint mypool/work
  $ ssh lax zfs get mountpoint mypool/play
