Improve default UserValidator behavior[4.0.0 beta 2]

Hi, some features not added to #311:

* Reordered validations – since a `validateIsUnique` or `validatePassword` message should not be `key` overwritten by `validateAttributes` as this last one is probably a less relevant error message
* Now all validations are called even if one of them fails.. So all validation messages are sent at once.
* `validateIsUnique` method now sends key to `attachErrorMsg` and also check for errors on each `$identity` field at once

:beers: