Exception to the rule - Introducing DataStoreOperationException

Introducing a DataStoreOperationException to identify when a data store
related exception occurs during save/query from a DbContext. This allows
tooling, framework, etc. to handle issues related to database
operations.

Also updating the existing DbUpdateException to inherit from the new exception
type so that the existing cases where this is thrown don't need to be wrapped
in a new exception.
Totally open to naming suggestions... I really don't like this name :smile:
I do want it to be specific to failed data store operation though, which is why I didn't go with the more generic DbException.