Modified the check, create and remove table methods.

They no longer set the instance error when failing, they just log the
failure and return false.

Also, I've replaced some of the error objects with throwing exceptions.
Attempting to create a table without name or columns should be an
unrecoverable error and not just prevent futher queries.
Changed the data type names within the sample.