[Validator] Only return unique messages

If you have an input like so;

```
$this->add(array(
    'name' => 'email',
    'required' => false,
    'validators' => array(
        array(
            'name' => 'EmailAddress',
            'options' => array(
                'message' => 'That is not a valid email address',
            )
        ),
    )
));
```

Users will see (on a form for example);

 - That is not a valid email address
 - That is not a valid email address
 - That is not a valid email address

i.e. the same error three times.

Here we simply return only unique error messages.

There are a few test errors as some tests assume that identical errors will be returned, can I get some opinions on this concept please.