Retry database tasks after signing in
This branch throws a DbClosedException instead of an IllegalStateException when database work is attempted before signing in, to avoid a crash in the case of bugs like #1482 (closed) or #1576 (closed). To ensure the database work is retried after signing in, BriarActivity recreates itself on receiving RESULT_OK from StartupActivity, and initial database work performed by ViewModels is moved from the constructor to an onCreate() hook, which is called again when the activity is recreated.
Closes #1576 (closed)