Greatly improve quality of automatically generated passwords

Previously the amount of characters for each type was deterministic, as
the character types were chosen in a round robin fashion, instead of
randomly choosing from the entire character set. This lead to about
47 bit of entropy with the default length of 8 characters. Additionally
str_shuffle does not use a SRNG, which may have reduced the entropy even
further.

The new algorithm, choosing fairly from the whole range of alphanumeric
characters with a default length of 12 characters provides about 71 bits
of entropy.