Start SMAPIv1 proxies listening for requests via the message switch
Fix SMAPIv1 backwards compatibility on pool slaves

The two facts:
  Only the master should list the SM plugins directly.
  When the proxies are being started up on the master, the SM database
    records haven't been created.

Imply that we should query Sm.* when running on the master, but use
the SM database records on the slave.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
All SMAPI access is now routed through the xcp-idl client code

If we have message switch enabled then it will be used, otherwise
we still use unix domain sockets.

Note the special-case handling of SR.probe.

Signed-off-by: David Scott <dave.scott@citrix.com>
storage: create per-SR unix domain sockets in storage.d/<name>

This avoids clashing with the global unix domain socket 'storage'

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