Plex: Building halo from the derived PetscSF object

The receives are derived locally from the SF, whereas the according
sends are collected on the receiving end and then communicated to the
sender. There they get translated from PetscSF roots to leaves, giving
the expected send/recv lists. The lnn2gnn map is taken from the LToG
map provided by the Plex.