slice: remove get/set methods for SPS and PPS, make pointers const

Nearly everywhere, SPS and PPS are used read-only, so making the pointers const
enforces this at compile time and allows the compiler to make some optimizations.
The few places that initialize or change the headers are passed the original
objects belonging to the top-level encoder.
slice: hoist constructor to header (it will be removed in later commits)
slice: TComReferencePictureSet -> RPS
slice: we only use a slice-local RPS (none signaled in SPS)
nits
slice: remove unused slice QP deltas
slice: remove unused deblock data, directly use status/offsets from PPS

nits: reorder TComSlice for better clarity and remove initializer list from
constructor
rc: HRD must be initialized prior to calling init()
slice: temporal MVP was never disabled
slice: remove get/set methods for m_pic

This cleaned up TComDataCU::getPic() as a side-effect.
slice: cleanup m_nalUnitType and helper methods
slice: nits
rc: fix vbvBufferSize calculation
sao: (bool == 1? ? true : false  -> wat?
sao: combine if(){} expressions
slice: remove m_saoEnabledFlag, m_saoEnabledFlagChroma - use saoParams

SBac::encodeSliceHeader() was already using saoParams for chroma but not for
luma (inexplicably)
slice: remove m_sliceSegmentBits and get/set methods for max-merge
nits
slice: remove get/set methods for m_poc
slice: remove slice bit counter