Refactor stream cipher API

It would be useful to have a symmetric API for stream cipher functionality.

Specifically, functions should have similar signatures, consistent success/error retvals, etc.

As mentioned in #20148 (moved), crypto_cipher_new(), crypto_cipher_new_with_iv(), and crypto_cipher_new_with_bits() are prime targets.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information