[EPG] Do *Persist*() calls on a copy of m_epgs

We can get in a situation where PersistAll() and PersistTables() are
running simutaneously, leading to memory corruption.
[EPG] Make sure we catch requests to update during update.
Merge pull request #4758 from t-nelson/epg_persist_copies

EPG crash fix