Ticket 49097 - Pblock get/set cleanup
Bug Description: In order to break up the pblock, we have to guarantee
that there are no users of the struct members directly. This throws our
stats tracking off, and is just a violation of the api.
Fix Description: To achieve this, we move the pblock struct definition
to be completely hidden. This "breaks" direct access to pblock members,
forcing the access to be through the api. Once this access is through
the api, we can then re-arrange the contents inside of the pblock
behind the get / set, and make the pblock struct itself signifigantly
smaller, with a tree based structure behind it.
https://pagure.io/389-ds-base/issue/49097
Author: wibrown
Review by: mreynolds (Thanks!)