Moved objects into the Utilities namespace

Refactored the Shadow, NullShadow and EntityManager objects into the Utilities namespace as part of the 0.2.0 clean up.
Exceptions over custom Error, part 1

Moved Executor to use Exceptions in its core handling.
Exceptions as Errors, part 2

Added the ExecutionException as a way of encapsulating SQL State Information when errors occur.
Fixed issue with failing example.
Exceptions as Error, part 3

Executor will now throw an ExecutionException when an error occurs, which allows us to retain passing detailed information to higher level operations, log information and use a more standard error handling mechanism.
Removed the old Error class
Added the Transaction object.

Allows for easy transaction operations.
Updated the README.