Implement UX for leaving a group
This MR also includes the creator's part of the UX for dissolving a group since it is almost the same.

Closes#671
See merge request !367
Remove forum content type and change bodies to string
Also removes support for anonymous forum posts.
This MR depends on !360.
Closes#698, #681
See merge request !370
This way the forum and private group client do not need to keep track of
message timestamps themselves and do not need to interact with
post/message factories.
Fix NPE when stopping KeyAgreementTask, improve thread safety
This branch fixes#696 and improves the thread safety of the camera code, mostly by adding @UiThread annotations and occasionally by moving stuff onto the UI thread that might have happened on other threads before.
Closes#696
See merge request !345
This was happening when the remote response arrives before the local
response is made and thus the local response needs to be send with the
ACK following. The problem was that we ACK was sent before the response
which is not allowed and resulted in the session being aborted by the
introducee. This was happening, because recursion is hard ;)
The fix is only restarting another protocol engine to send the ACK
after the first run has been completed.
An integration test was added to prevent such regression in the future
and to test this code path.
Forum controller thread safety and tree safety
This branch solves the concurrent forum issues by code restructure and refactoring.
Closes#556Closes#552
See merge request !262
Like other recursive operations on the dependency graph, this is
not done in a single transaction to prevent an attacker from creating
arbitrary large transactions.
So at startup, the `ValidationManager` finds and resumes any
unfinished operations, by looking for shared messages with unshared
dependencies.
Check whether File#listFiles() returns null
The docs say this can happen if there's an I/O error. Also fixed a throw-in-finally-block warning and renamed an IoUtils method to make its contract clearer.
See merge request !328