Simplify find_by_statement_cache interaction

...down to a lazily-initialized class-level ivar with a single accessor cached_find_by_statement

As far as I can tell this is the minimal isolation of the feature.
Can we leave this as "each_with_object" ?