Added Character Set Validator

- [x] implemented character set validator with tests
We also need -init, -copy, -hashAndIsEqual tests. That should be a mostly copy/paste job.