Release 0.9.20

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #39 from djs55/release.0.9.20

Release 0.9.20
Add an opam file

This makes 'opam pin add xapi-idl .' work more smoothly.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
storage: add a Backend_error_with_backtrace exception

This exception allows an SR_BACKEND_FAILURE to be accompanied by
a backtrace from the SM backend.

Note that rpc-idl fails to marshal an exception containing a triple,
so we cheat and use a pair, where the first element of the string list
is a s-expression marshalled Backtrace.t.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
xen: add a new field Task.backtrace

This field will contain an s-expression marshalled Backtrace.t value.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
lib: use the new Backtrace module

- make sure we preserve backtraces when exceptions are caught in
  helper functions
- when an exception hits the top-level thread wrapper functions,
  log it and the backtrace to the log. If an exception is being
  handled then by default the backtrace will not be printed: it's
  up to the higher-level code what to do with it.

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

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #41 from djs55/add-backtraces

Support reliable, cross-host, cross-process backtraces