Validate with either numerals or special chars

Before this commit passwords would only validate when all ranges in a-z,
A-Z and 0-9 were used. This change adds support for detecting the full
range of 'special chars' in the ASCII table.

Now, a password will validate when it consists of either:

   - Uppercase and lowercase chars and numerals 0-9
   - Uppercase and lowercase chars and special chars
     (including space): !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

The return object now also a includes a score object with booleans
for detecting the ranges that are used.
Update README and change to reStructuredText