Strength measuring password (user)

Current get_password() method from res.user, try to pass some strength measuring, it’s a poor password (password factor)

Example:

>>> import string
>>> import secrets
>>> import passwordmeter
>>> def gen_password(length=8):
...     alphabet = string.ascii_letters + string.digits
...     choice = secrets.choice
...     return ''.join(choice(alphabet) for _ in range(length))
... 
>>> new_password = gen_password()
>>> new_password
'KMmU1yub'
>>> strenght, suggestions = passwordmeter.test(new_password)
>>> PASSWORD_FACTOR = 0.75
>>> strenght < PASSWORD_FACTOR
True
>>> strenght
0.4775
>>> new_password = gen_password()
>>> new_password
'C82JbVht'
>>> strenght, suggestions = passwordmeter.test(new_password)
>>> strenght
0.4783740658631921
>>> suggestions
{'charmix': 'Use a good mix of numbers, letters, and symbols', 'phrase': 'Passphrases (e.g. an obfuscated sentence) are better than passwords'}

Current code can’t overwrite gen_password() method from third modules.

Ideas:

A- Add more coverage password strong (mix string.ascii_letters, string.digits and string.punctuation)
B- Allow overwrite get_password() method from third modules

Password meters are poor to measure password strength. You just gave the proof that random password has bad measure.

The random password example is same that trytond generated when reset password.