More code path test coverage

Added test coverage for untested code paths (mostly error handling) revealed by 'go tool cover'.
Done.

The fact that crypto/rand.Random is patchable at all makes me very uneasy about dynamic library loading for Go. I want 'const' as well if that ever happens.