SMAPIv1: support backtrace reporting via XenAPI-style errors

Traditionally the SMAPIv1 plugins report errors as XMLRPC Faults which
are converted into SR_BACKEND_FAILURE_<code>. We allow the backend to
return a XenAPI-style error instead.

Traditionally the SMAPIv1 plugins can only write exception backtraces
to their log file. We allow the backend to report an exception traceback
to us via a new XenAPI error "SR_BACKEND_FAILURE_WITH_BACKTRACE", which
is a simple extension of "SR_BACKEND_FAILURE".

The Smint.Not_implemented_in_backend was being thrown, immediately caught
and replaced with an API error. Simplify this by throwing the API error
immediately.

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