Avoid static const in GCM as well
Add more possible clock types
Simplify device opening, and avoid leaking a file descriptor if it was
too large to fit in an fd_set.

Read at least 128 bits even if the poll is asking for less.
Use override
merge of '5e53891d2c77f27a22d07ed26923745f9a5f3336'
     and 'a895552efd212665d83064e9517976ef63f41368'

Previously, AutoRNG was just a reference to the global rng, which can
cause a huge amount of lock contention in heavily multithreaded
code. Now each AutoRNG is its own uniquely seeded HMAC_RNG. The set of
entropy sources is shared rather than being per-RNG (so there is only
one open fd to /dev/random, etc). So reseeding is still a global lock,
but sharing the resources (open file descriptors, etc) across RNGs
seems worth the contention.

Remove Randpool, which was only used if HMAC_RNG was disabled at build.
At least 128 bits, not at most 128
Use a page size buffer as we are reading from a pipe