Simplify find_by_statement_cache interaction

...down to a lazily-initialized class-level ivar with a single accessor cached_find_by_statement

Deprecate the accessors as the cache is an implementation detail.

As far as I can tell this is the minimal isolation of the feature.