This defers the return code logic to a named method `isLibsodiumSuccessCode`
to reduce the liklihood of error when checking codes.
This will also now throw an `IllegalStateException` in the event that an
unknown code is returned.
The `XChaCha20EncryptionResult` data class currently implements
its own equality check due to the class's byte array members.
However, this is using a standard equality check, `==`, rather
than checking the array's contents. This will cause two results
with the same contained values to return `false` on an equals check.
Confirmed this issue with a unit test, and fixed by changing the
implemented method to use `contentEquals` instead.