Fix small bug in Mesh::communicate(FieldPerp)

Wasn't waiting for receives, so could result in operations
on invalid data or leaking memory