shared/api/error: Adds StatusError type
shared/api/error: Adds StatusError type

For use in both LXD server and in the LXD client for passing an HTTP status code in an error to the caller.

This can be used in the LXD server to alter the HTTP status code returned to clients if an error occurs,
and in the LXD client it can be used to propagate the HTTP status code returned from the server to the user
so they can handle errors by inspecting the status code rather than inspecting the error message itself
which may change over time.

Signed-off-by: Thomas Parrott <6b778ce645fb0e3dde76d79eccad490955b1ae74@canonical.com>

stgraber/lxd,atxwebs/lxd,hallyn/lxd,atxwebs/lxd,hallyn/lxd,stgraber/lxd,stgraber/lxd,stgraber/lxd,hallyn/lxd,hallyn/lxd,atxwebs/lxd,lxc/lxd,lxc/lxd,lxc/lxd,stgraber/lxd,lxc/lxd,stgraber/lxd,stgraber/lxd,atxwebs/lxd,lxc/lxd,hallyn/lxd,lxc/lxd,lxc/lxd,hallyn/lxd