Issue 50506 - Fix invalid frees from pointer reference calls.
Description: There were a few free calls that were not removed
which caused a double free. There was also extra
care needed in pw.c around shadow password attribute
values.
relates: https://pagure.io/389-ds-base/issue/50506
Reviewed by: lkrispen(Thanks!)