tpcc scenario changes:
- fixed delivery transaction to handle NULL case properly
- modified stock_level transaction to support two type of queries
compatibility changes:
- modified prepare stage to keep tinyint for MySQL and smallint for other DBs
- fixed check stage to support STRAIGHT_JOIN hint for MySQL
core script changes:
- replaced os.sleep with ffi.C.usleep
- replaced pcall() with proper hook for error handling
- changed API calls from :query to :query_row
- various small cleanups and imporvements