## What changed?
Changed chasm engine to convert errors, if needed, to the relevant
service errors. Chasm errors remain as is. Internal errors (i.e.,
persistence) are sanitized and error details for uncategorized errors
are preserved via logging. Uncategorized errors are defaulted to
serviceerror.Unavailable
## Why?
Currently chasm engine can expose non-service errors with internal
details. We should not expose this to the API callers as those errors
may eventually be exposed publicly. But we do want to preserve the
original errors for debugging purposes, and thus they get logged before
the conversion.
## How did you test it?
- [X] built
- [X] run locally and tested manually
- [X] covered by existing tests
- [X] added new unit test(s)
- [ ] added new functional test(s)