flux-module: rework options

Combine --nodeset, --all, --rank into a new --rank=[nodeset|all].

Add a --direct option to force flux-module to contact services
directly instead of using modctl for a proxy.  This is especially
useful when modctl and kvs are unavailable or are being loaded/unloaded
by the command.

If --direct is specified with multiple ranks, perform multiple direct
operations serially and reduce the results.  Thus the same commands
can be run with or without --direct and the results should be the same,
albeit slower with --direct.
flux-module: add 'info' command

Open a module file and display the following information:

Module name:
Module path:
SHA1 Digest:
Size:
flux-module, libflux: insmod gets full paths

flux-module needs to canonicalize paths before sending them to
a module loading service, as they may be running in different
working directories.