Add support for getentropy() and getrandom()
Some platforms have a getentropy() call for retrieving randomly generated data, Linux has recently added getrandom(), an equivalent call. s2n should support these where available and avoid using /dev/urandom.
Beware, as the name indicates getentropy(2) is a source of entropy not a direct source of randomness. getentropy(2) data should be fed into a PRNG, not used directly as randomness as the man page indicates:
getentropy()is not intended for regular code; please use the arc4random(3) family of functions instead.
We don't want to further complicate our random implementation, and plan to use the libcrypto random when possible: https://github.com/aws/s2n-tls/issues/4348