Add strict mode

Closes #40
fix readme fmt
Close rows on error
Make warning details accessible

Makes the details of MySQLWarnings accessible through an exported struct
clean up test
Bloat the API a bit less

Since MySQL warnings only appear in groups in the wild, we don't need to
export the struct for a single warning.
The details are still accessible:
if mws, ok := err.(mysql.MySQLWarnings); ok {
_ = mws[0].Code
}
Export MySQL error struct

Also export a MySQL error type struct for consistency
Use readBool func

Introduced a new readBool function to parse string values to bool
values.
The function is more general and makes the behavior consistent.
Test warning codes + fmt

Test wwarning codes instead of the full message.
Merge pull request #58 from go-sql-driver/strict

Add strict mode