Encoding

So, here is my encoding as I used it in my previous experiments. The alphabet is somewhat arbitrary: the goal was to get reasonably low probabilities for the following cases:

* no digits in password: (1-10/48)**16 = 2.38%
* "no lowercase in password" and "no uppercase in password": each (1-13/10)**16 = 0.64%
* no special characters in password: (1-12/48)**16 = 1.00%

We could achieve the same probabilities and still cover all letters in upper- and lowercase by duplicating the digits in the alphabet like this:

```
ALPHABET = string.ascii_lowercase + string.ascii_uppercase + string.digits*2 + '!#$%&()*+,-./:;=?@[]^_|~'
CHUNKLEN_ENC = 6
```

What do you think?