analysis: major refactor of analysis data structures; prep for --pmode --rd 5
search: bring mode structure from analysis
search: bring mode structure from analysis for intra functions
analysis: remove best mode logic from checkMerge2Nx2N_rd0_4()

It is always done by the caller based on rd level
analysis: add obviously missing logic
cu: nits
cu: don't pass cuData to copyPartFrom(), it only needs numPartitions

This change came from Min
nit
analysis: pass depth via cuData, add support for split CU in checkDQP
analysis: continue to optimize split logic
analysis: update split logic in compressInterCU_rd0_4(), simplify
analysis: bring compressInterCU_rd5_6() up to date
analysis: handle situation in compressInterCU_rd0_4() where only split is tried
analysis: implement bidir MVP refine for --pme

This was the last deliberate difference in output between --pme and --no-pme
analysis: remove m_log member variable; an auto-var is sufficient
analysis: pass partUnitIdx to intra functions for initSubCU
pred: rename Prediction::m_slice to Prediction::m_predSlice

to avoid conflict with Analysis::m_slice
analysis: fixes for recursion from Min Chen

When a part is not present, we must call splitCU->copyPartFrom(splitCU, ...
just to setup the appropriate depth fields in splitCU, which is horrid but it
works for now. This hack fixes DQP behavior.

The rest of the changes ensure we always pass a valid CABAC context to the
next coded CU (important in the presence of uncoded blocks on the edges)

With these fixes, I slices match the behavior of the previous design.
analysis: use correct 'nextContext' from split iterations for split prediction
analysis: use md auto-var in parallelAnalysisJob()