validate: ensure StorageArgumentException is always encodable
by embeding a string representation of the original Exception as
StorageArgumentException args instead of the original exc.args
since this can contain any python (possibli non-serializable) object.
This is needed e.g. when swh.model has runtime type validation.