database/sql: fix double decrement of numOpen count; test for connection leaks

Add a check at the end of every test to make sure
there are no leaked connections after running a test.

Avoid incorrectly decrementing the number of open connections
when the driver connection ends up it a bad state (numOpen was
decremented twice).

Prevent leaking a Rows struct (which ends up leaking a
connection) in Row.Scan() when a *RawBytes destination is
improperly used.

Close the Rows struct in TestRowsColumns.

Update issue 6593

R=golang-dev, bradfitz, dave
CC=golang-dev
https://codereview.appspot.com/14642044

Committer: Brad Fitzpatrick <bradfitz@golang.org>