SMAPIv2: avoid calling ourselves via the Unix domain socket

Instead we should be able to call internal functions directly.

The snag is that the storage_{mux,impl,migrate} end up with a
circular dependency if one tries to call storage_mux (the local
entrypoint) from storage_migrate (one of the places making loopback
calls). The boundaries between these modules need to be rethought.
In the meantime, work around the problem by stashing a local
'Rpc.call -> Rpc.response' function in a reference in a new module
storage_server.

To make a local SMAPI client one needs:

  module Client = Storage_interface.Client(Storage_server)

Signed-off-by: David Scott <dave.scott@eu.citrix.com>