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>
wasn't my code; I just factored it into the function.  I wondered about that too.  probably unnecessary altogether now that it's in a separate function, but I wasn't 100% sure what "linter" meant.