This branch removes the pending contact state from the DB, as it doesn't need to be persisted across sessions. The ContactManager manages the list of pending contacts (which is persisted). This will be handed over to a new PendingContactManager in a future MR, which will also manage the states (not persisted).
The pending contacts returned by the REST API no longer contain states. When getting the list of pending contacts, the state is returned alongside each pending contact.
Part of #1567 (closed).