EA-1158: Don't complain if physical-device is missing from XenStore

It is legal for the physical-device XenStore key to be missing in the
case of CD-ROM devices.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
EA-1158: Include time in log messages

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
EA-1158/CA-122584: Don't modify the XenStore path that triggered.

Don't modify the XenStore path that triggered because we have to use it
again if the XenStore transaction must be re-executed.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
EA-1158: Option to log to a separate log file.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
EA-1158: Rework transactions.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
EA-1158: Periodically flush the log.

This is useful for producing meaningful log output, especially when a
bug report is produced.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
EA-1158: Use grant copy.

Operate on one page at a time.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
EA-1158: Don't switch state if tapdisk is not available.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>