Unify usage of storage error exception type

- Instead of formatting the exception by creating
  a storage error instance we can just let the already
  included cause make this formatting occur.
- Handle cases in impl_dir which were not catching and
  raising storage errors.
- Unify usage of 'backend internal error' messaging.
- Pass the cause to storage errors where applicable.

Change-Id: Ieb14256b202ccbfa3a96f68fa35db7e40f92114d
Merge "Unify usage of storage error exception type"