Refactored optional_crypto, removed the optional part

Additionally moved/switched to default seed for gmpy rand method.
- If one of the crypto libraries cannot be found, we throw a runtime exception instead of somewhat silently continuing fixes #874