The function had three branches:
- host
- remote-but-not-connected
- remote-and-connected
All three branches overlap to varying degrees. This patch reduces them
to two by merging the two remote branches. The main difference between
the two is (or should be -- the code is fairly convoluted, so it's hard
to be certain) that in the connected case we can try to download the
module from the remote system.
However, there's no need to fork the code for that. We can just proceed
with the normal (connected) search sequence and let the sub-operations
that require a connected host fail.