Improving try..catch of SQL errors

Moving SQL error try..catch from the DB Driver into the DB module, using a new Driver property to store the SQL to be run. refs #362