Improve UserValidator default behavior [4.0 beta]

`UserValidator` present design doesn't provide good UX practices and easy client-side validation via 
`$user->errors`.

It overwrites `$user->errors` each time `UserValidator->attachErrorMsg()` method runs, providing only 'one' error at time instead of all of them, making user progress at completing unvalidated fields slower and unintelligent.

It also doesn't follow `MessageBag` default behavior, which is a key corresponding to input names/model attributes and its respective value. It actually adds a MessageBag with `confide` key, so client-side validation by matching keys from `$user->errors` isn't possible..

Note that `UserValidator->ValidateIsUnique()` method is still showing only first error but now at least exports correct error key to `$user->errors`. 

Unity test to `UserValidator->attachErrorMsg()` must be updated if merged since it was redone to work directly with MessageBag object instead of ConfideUserInterface.
Please indent with spaces. :P