Refactor out old classes.
Move dependency up to parent.
Move DirectoryUtil up to parent.
Move ListenableFutureTask up to parent.
Split out Util functions.
Put everything under either internal or api.
Fix regressions for registration.
Fix delivery receipts in group messages.

Fixes #2056
Fixes #2067
Fixes #2087
Correctly handle PKWM via SMS.
Correctly process push messages with identity key conflicts.