* Retrieve SOs by ID in a space-aware manner by using bulkGet
We were previously using a manual invocation of find(), which was a)
tied to the current implementation of how SOs generate their _ids, and
b) didn't respect spaces.
By replacing this with a call to bulkGet, which automatically respects
the space of the current request, and which abstracts away the building
of the actual _id based on the SO ID and type, we address the issues
above.
* Surface SO errors to the finalize/delete APIs
Now that we're using bulkGet, we receive an object with errors if the
object is not found, which by default breaks our subsequent validation.
In order to provider better UX, we re-raise the first of these errors
that we find, if present, and return that to the user.
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>