Use RdSeed when available, and reduce RdRand load
Summary:
This introduces support for autodetecting and using the RdSeed instruction.
In addition:
- In SeedFast, only 64 bits of entropy are generated through RdRand (256 was relatively slow).
- In SeedStartup, 256 bits of entropy are generated, using RdSeed (preferably) or RdRand (otherwise).
This is a backport of Core PR15250
Test Plan:
make check ./test/functional/test_runner.py
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D4512