Profiling-based improvement: Delay hooking de-serialized DataPoints up to their Problems until Analysis constructor (rather than making a separate copy of Problem for each DataPoint).

Profiled opening large PAT project (partially populated with results). Before change:

258 s for de-serializaing analysis
30 s for opening RunManager database

After change:

30 s for opening RunManager database
13 s for de-serializing analysis

I have a couple more items to persue regarding de-serializing the analysis. @lefticus, please see if you can improve the performance of opening the RunManager database. Of those 30s,

75% is spent in RunManager_Impl::RunManager_Impl on m_dbholder->loadJobs()
25% is spent in enqueue(loadedjobs,false,m_dbfile.parent_path()), more particularly, in WorkflowItem::updateDescription (6.8 s)

I have detailed results on my laptop if you want to look at them sometime.