For defaults that are integers, enforce it for config supplied values.

If a user supplies a string in the config (rather than an int), the code
should fix that- or blow up immediately- rather than allowing that value to
work it's way down and break w/in the connection object; when that happens,
the actual error is opaque and requires pdb.set_trace() to run down.
Merge pull request #4294 from ferringb/fixes/constants

For defaults that are integers, enforce it for config supplied values.