pbkdf2: fix a stack-overflow when iterations is more than about 88000

The pbkdf2 module uses generators extensively, including itertools
starmap() and izip(), and never flattens them into lists. A large number
of iterations results in a deeply nested stack, which overflows and
causes a segfault.
second PBKDF step needs to include the original password