Optimize compact_pointer_parent

We now no longer need the compact_alignment type so replace it with a
constant.
Change compact_pointer_parent to use 2 bytes

Parent pointers need to be able to reach everywhere within a page to
minimize shared parent pointer reuse unless it's absolutely necessary.
This reduces parent hash utilization on all test cases to <1%.

Rename compact_parent to compact_shared_parent.