Simplify ParameterValidator.

- There was no reason to keep two separate dictionaries of the same thing.
- I also added a required parameter to BaseValidator's initialize method. This
  keeps me from using allow_none as the poor man's required.
Improve DateValidator and StringValidator
100% test coverage yet again.