improved generateString: added presets for character sets

Turns the second parameter $characters into a mixed parameter. When passing in an Integer it will be treated as a flag. Relevant flags are available within the Generator class as constants.

Example:
```
$generator->generateString(16, Generator::LOWER_CASE | Generator::DIGITS);
```

Yields something similar to:
```
yofch5qkv2nx0oay
```

Took inspiration from: http://pwgen-win.sourceforge.net/