Throw FormatException rather than RuntimeException if authenticated decryption fails.
This will make it easier for simplex transports to discard empty connections.