Download keys for verification when updating services
Download keys for verification when updating services

Previously we wouldn't download keys, which meant that we could fail
to verify an updated service package if we didn't happen to already
have the key with which it was signed in our local cache.

The implementation is admittedly awful, being lifted (almost verbatim)
from `common::command::package::install`; however, we have package
installation logic scattered around in several places in the codebase,
and I am in the middle of overhauling and consolidating all of it
right now. This patch should fix this bug now, and the proper solution
will be along Real Soon Now (TM).

(I'm not making a corresponding change to
`sup::manager::self_updater`, because that is only ever updating
`core/hab-sup`, which we should always have the keys for anyway. In
any event, that package installation path will also be subsumed in the
aforementioned refactoring, so it should be a moot point soon anyway.)

Fixes #3121

Signed-off-by: Christopher Maier <b4598f17a90ef80817bae8ad6c37249740caafb4@chef.io>

habitat-sh/habitat,georgemarshall/habitat,nathenharvey/habitat,georgemarshall/habitat,georgemarshall/habitat,rsertelon/habitat,rsertelon/habitat,nathenharvey/habitat,habitat-sh/habitat,georgemarshall/habitat,rsertelon/habitat,georgemarshall/habitat,nathenharvey/habitat,habitat-sh/habitat,habitat-sh/habitat,habitat-sh/habitat,habitat-sh/habitat,georgemarshall/habitat,georgemarshall/habitat,georgemarshall/habitat,rsertelon/habitat,rsertelon/habitat,rsertelon/habitat,nathenharvey/habitat,habitat-sh/habitat,nathenharvey/habitat,rsertelon/habitat,nathenharvey/habitat,habitat-sh/habitat