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.
Ah, duh :smile: 
It's missing from the updated commit, but I've changed it over now:
"An error occured while running a data store operation. See InnerException for details."