Entropy pool
Code largely copied from the buffered-crypto
branch.
See the README.md diff for a benchmark comparison. Full new benchmarks:
BenchmarkRead32-4 10000000 207 ns/op 153.94 MB/s
BenchmarkRead512K-4 500 3230813 ns/op 158.47 MB/s
BenchmarkRead4Threads-4 2000000 945 ns/op 135.32 MB/s
BenchmarkRead4Threads512k-4 100 14697556 ns/op 139.34 MB/s
BenchmarkRead64Threads-4 100000 14889 ns/op 137.55 MB/s
BenchmarkRead64Threads64k-4 5 235147804 ns/op 139.35 MB/s
BenchmarkReadCrypto32-4 500000 2697 ns/op 11.86 MB/s
BenchmarkReadCrypto512K-4 50 32161930 ns/op 15.92 MB/s
In short, the throughput stays roughly constant even with 64 consumers, which is cool.