Merge pull request #1 from athom/master

add new validators
Merge pull request #2 from athom/master

remove the overlap validation.
add ToError method
add MessageSwitcher validator and related testcase, add UniqErrors inner method to avoid duplicated error messages