CA-86883: Detach SR if SR.destroy fails

The storage backend can destroy an SR only if it is attached.
Therefore when xapi wants to destroy an SR, first it attaches it.
When the backend destroys the SR it is no longer attached.

This change adds exception handling so that if the backend fails
to destroy the SR, xapi will detach it.
XAPI-261/CA-96936: Make himn_only more general

To also manage the case of a localhost server.

Signed-off-by: Jerome Maloberti <jerome.maloberti@citrix.com>

Conflicts:
	ocaml/xapi/xapi_mgmt_iface.ml

Signed-off-by: Jerome Maloberti <jerome.maloberti@citrix.com>
XOP-261/CA-96936: Prevent multiple starts of localhost server

Signed-off-by: Jerome Maloberti <jerome.maloberti@citrix.com>
XOP-261/CA-96936: Issue a warning in case of multiple starts of HIMN server

Signed-off-by: Jerome Maloberti <jerome.maloberti@citrix.com>
CA-96936/XOP-261: himn interface should not be started if the host is
already listening on ANY.

Signed-off-by: Jerome Maloberti <jerome.maloberti@citrix.com>
Merge pull request #1030 from thomassa/ca86883

CA-86883: Detach SR if SR.destroy fails
Merge pull request #1032 from jeromemaloberti/XOP-261-master

CA-96936/XOP-261: Reinstate the server on 127.0.0.1 when no management interface is defined