cacheResult() folded into BasePersistence

cacheResult(List<T>) and cacheResult(T) moved into the BasePersistence interface, so implementations not extending BasePersistenceImpl must now implement them.

Why:

To reduce Service Builder generated code, the identical cacheResult logic was folded up into the base class so it no longer has to be regenerated in every per-entity *PersistenceImpl.

Who this affects:

Only custom persistence implementations that bypass BasePersistenceImpl need migration.