This adds the possibility to handle network replies individually instead
of routing all of them through a central handler routine. The
centralised approach made the code more complicated than necessary and
would inevitably lead to confusion when sending similar requests
simultaneously.
This splits up the RemoteDatabase class into two classes, RemoteDatabase
and RemoteNetwork. The first is for managing the directory of cloned
databases while the second is for network handling only. Moving the
network code into a separate class requires some rewriting but should
make the code easier to maintain and extend.