Converted IStreamCipher interface to abstract base class to cut down on implementation drift, and harmonise init handling (now can do automatic error checking through Athena).
Converted corresponding (to prev commit) block cipher infrastructure to abstract base classes.
Split up extension methods. Optimised copying and XOR methods by putting in unmanaged implementation thresholds.
Added documentation.