Add tests for generic file-based entropy source.
Complete tests for entropy dispatcher, and bugfixes.

* Split the dispatcher into a separate function from its table, for
  testing.

* If a source's output is truncated, don't count it.

* If every source's output is truncated, count us as being in serious
  trouble.

* Actually implement source-groups properly.  (The idea is that if
  you've gotten one kind of entropy from a given source, future calls
  to that source are pointless.)
Count very little output as even worse than everything truncated