Grammar/Spelling/Clarity issues for readme
charset less restricted, formatting

Charset no longer needs to be an iterable of characters. There is no compelling argument why any iterable can't be used. As a result of this, generate_password now returns the password as a list of charset items, not a string.

It is important to note that if any of the items in the charset are inconsistantly converted to strings accross runs, then the resulting password will be inconsistant (as charset is an input for generating inputs). Consider yourself responsible for this.

I can't really reduce the number of parameters the functions are taking, but beyond that, formatting is compliant(ish) with pyflakes and pylint (pylint can pry map from my cold dead hands).