Charset option for creating plain passwords

Adds option to specify character set for creating plain passwords. I generalized asquelt's code for shellsafe option.

Current options are 'alphanumeric', 'special_shellsafe' (asquelt's shellsafe shars) and undef/default (original behavior).