Figure out a little more const ness, fix bugs.

So I was too hasty over the christmas season and released a series of
flawed packages.  This is a tested (lightly) release.  There are still
some abstraction issues with the API (some operations mutate the inputs, others
don't but you might think they would), but it functions and the Haskell
API is workable.