Add truncate command while generalizing error code

This PR moves the error handling in the `execute` method into the base class, since I *think* its okay to have extra error cases in the base class, but let me know if you think that's too messy.

At the same time it adds a [`TRUNCATE` command](http://docs.aws.amazon.com/redshift/latest/dg/r_TRUNCATE.html) (deletes all rows), which is motivated by me replacing my use of `DROP TABLE`.