Check for N=1 on libscrypt, because it's buggily accepted

Fixed in current libscrypt, but not in any released versions.
Move p/r == 0 check to scrypt to guard against divide-by-zero in libscrypt

Again, fixed in current git, but not released versions
Conversion to unittest: scrypt tests
Test helper functions, more coverage
Conversion to unittest: PBKDF2 tests
run_tests no longer exists
Unify wrong parameter type exceptions
Merge branch 'unittest'

Convert tests to use unittest
Require TypeErrors for non-integer N/r/p