Migrate crypto to libsodium
Using libsodium via JNI would give us constant-time implementations of Curve25519 and Ed25519 (see #236 (closed)) and a fast implementation of Argon2 (see #170). Our crypto_secretbox implementation could be replaced, and we could use crypto_box instead of ECIES for crash reports and feedback. BLAKE2s would remain in Java (libsodium only has BLAKE2b). If we replaced the Fortuna generator with libsodium's RNG, we could get rid of Bouncy Castle.