database/sql: use a value type instead of a pointer

Follow-up to https://codereview.appspot.com/107020044/
Also add a little comment.

LGTM=ruiu, josharian
R=josharian, ruiu
CC=golang-codereviews
https://codereview.appspot.com/139760043
mime: style, perf, and test updates to case-insensitive lookups

Only grab the lock once, don't allocate, add more tests.

LGTM=ruiu
R=ruiu, josharian
CC=golang-codereviews
https://codereview.appspot.com/139780043