Get the spec-conformance tests working.

They are implemented via cloning the PRNG in haskell, and comparing
the output.  I don't claim coverage yet.
Clarify which parts of spec are public api
Cover the relevant functions via the haskell spec tests
Tweak the haskell test to work with gcc too

It's dependent on the number of chacha blocks that the prf generates
at a time, so it needs to take that number as an argument