Modified the CSPRNG to have the engine specified in the constructor
Added support for a Nonce which is used in ECG crypto system

Added support for a Nonce, the nonce is used by the ECG crypto system
for the block cipher and is also able to be restored to it's previous
state to ensure that nonce/IVs are never re-used for the same key.