* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
'http-get*', or 'http-get' as a last resort. Check whether DATA is
#f, a string, or an input port.
* guix/gnu-maintenance.scm (http-fetch): Return an input port.
(<gnu-package-descriptor>): Add it.
(official-gnu-packages): Use <gnu-package-descriptor>.
(find-packages): Add it.
(gnu-package?): Adjust accordingly.
* guix/gnu-maintenance.scm (http-fetch): Error out when DATA is #f.
* guix/scripts/package.scm (check-package-freshness): Wrap
`gnu-package?' call in `false-if-exception'.
Reported by Cyril Roelandt <tipecaml@gmail.com>.
* guix/gnu-maintenance.scm (gnu-package?): New procedure.
* guix/scripts/package.scm (waiting): New macro.
(check-package-freshness): New procedure.
(guix-package)[process-actions]: Use it.
* doc/guix.texi (Invoking guix package): Mention the feature.
* guix/utils.scm (version-compare, version>?): New exported procedures,
based on version-string>?, which was formerly in gnu-maintenance.scm.
* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
(latest-release): Use 'version>?' instead of 'version-string>?'.