Strict errors on small and big lengths

This would mean more work on application level,
but I consider this an improvement.
After all, the users never know that their security is not at the level they expect it to.

It's also confusing that `supergenpass(..., ..., { length: a }) !== a`.