[Some users report][0] that data isn't being properly deleted. This adds
some additional logging to `OWSOrphanDataCleaner` (and converts some of
it to Swift while we're at it) which may help us fix the bug.
There are some small behavior changes here, but they should be minor:
- We now only open _one_ transaction when checking whether we should
do a cleanup, instead of two.
- Some log messages were changed
- We now handle the case where the "last cleaned date" is unexpectedly
missing
[0]: https://github.com/signalapp/Signal-iOS/issues/4916#issuecomment-1248234244