Cache prepared statements by default.

 * Cache prepared statements by default.
 * Provide an 'uncached' combinator to locally disable caching.
 * Validate cacheSize >= 0.
 * Allow cacheSize == 0 to disable caching completely.