add a new generator for generalized extreme value distribution.
add support for variable key length
Merge branch 'extreme'