Ensure visibility flags persist across commit

When a ghost unit is committed, the actual unit is deleted and then the new, real unit is added based on data from juju-core. We need to copy the visibility flags down from the service during that process.
Since I was working on one process_delta method, I went ahead and added docstrings to all of them as a drive-by cleanup.