Fix for #14. Use hash of SQL as cache key

Fix for #14. Build cache key from a hash of the SQL that will be
executed, along with any parameters and their values.

With the previous expression-based method, parameters and their values
were *not* being included in the cache key when `Include()` was used.