Added regexp validator

Why introduce a new type instead of adding an option to existing string type as ``String(regex=...)``? We validate a string object. Validation against a regular expression is just a validation option as for example a possible ``max_size`` option. ``Regex`` class might be useful if we would like to validate a ``re.RegexObject`` objects, but all strings should be validated by ``String`` or possibly its subclasses.