add option to generate shell-safe passwords

basically excludes characters that might be dangerous if used in shell.
many passwords generated by trocla may end up in some sort of bash
scripts (initscripts, sourced shell variables, etc) which may yeld
problems with default trocla random generator.

this can be now changed either in troclarc (with "shellsafe: true")
or on (ie. "trocla create foo plain '{ length: 32, shellsafe: true}'").
puppet will convert all values to string, so we need to convert it back to integer for ranges

ie. for this to work:

$short_and_safe = {
                    'shellsafe' => 'true',
                    'length' => 6, # THIS WILL BE STRING!
                  }
$x = trocla('foo', 'plain', $short_and_safe)
notify { "test: $x": }
adds charset option for generating plain passwords
Merge branch 'charset_option' of https://github.com/tilya/trocla into tilya-charset_option

& simplify charset selection

Conflicts:
	lib/trocla.rb
	lib/trocla/util.rb
add SHA1 base64 encoded format
make it possible that formats can query back to trocla itself, so they can lookup other 'keys'
Merge branch 'tilya-charset_option'