Current `errorToStatus` is not displaying the underlying error if the
status code is 400. Additionally, we are sending the error into this
function twice: Once in the error message and again in the error itself.
This commit changes the way `errorToStatus` works by sending a message
indicating where the error occured and then the actual error as a
different argument. Additionally, it changes `errorToStatus` to always
print the input message and the error regardless of error type.
* feat: parse minio errors and plugin permission
- Evaluate minio errors. If the error is a permission related error, convert the error to a `Permission` proto and attach it to the gRPC status
- Update `dryRun` method to join all errors before returning response. This ensures all the permissions are validated before returning
* refactor errorToStatus to return storage states
* update oncreate and validate errorcodes on failure
* update go.mod for new sdk version
* update tests to parse state instead of permissions
---------
Co-authored-by: Elim Tsiagbey <elim.tsiagbey@hashicorp.com>