smart query caching and cache size options
optimize smart caches for better performance
added support for negative cache sizes
use None or falsy value instead of -1 for turning of cache limit
Merge pull request #11 from eugene-eeo/query-cachesize

Smart caching and cache options