Continue fix for 9871

The existing logic was too tortured, and the previous fix was bad.
Rewrite to extract "get_statuses()" to a worker, and make it
extremely clear which VM hostkeys are being updated and why.

Signed-off-by: Dan Mick <dan.mick@redhat.com>