[BUGFIX] Reflection caches need not be freezable

Currently, ReflectionData and classSchema caches call backend->freeze()
and ->isFrozen() method in production context without checking if the
backend is actually a freezable backend. This prevents those caches from
being used with better performing backends than FileBackend.

This change adds check for the FreezableBackendInterface and avoids the
isFrozen() method call to allow those caches to be used with non-freezable
backends.

Change-Id: I6ae1a808347d9e03ed7d4629c26e3aabac4870be
Resolves: #47325
Releases: master, 2.0