Separate entropy "source" from "domain".

A "source" is a particular way of extracting entropy, like "call
cryptgenrandom", or "invoke rdrandom", or "ask egd".  A domain, on the
other hand, is the thing we're trusting to make entropy for us, like
"The OS" or "The CPU".  There can be multiple sources for a given
domain, but there's no point in asking any domain more than once.