Small typo
Alpha now uses ctype_alpha

Replacing preg_match for ctype_alpha wasn't so straight forward as
they're not semantically equivalent (one considers spaces and line
breaks as valid characters and the other doesn't).

Also, I find that `|| $cleanInput === '';` at the end of validate
ugly, but it was necessary to make it accept empty strings.
Alpha refactoring to avoid code duplication

As a bonus, Alnum also uses a ctype_ function now.
Corrected rules that stoped working after two last commits

Theorically, Digits should inherit from Alpha (as it shold use
ctype_digit).  However, the regex being used isn't semantically
equal to ctype_digit.
Created new class for ctype_ based rules
New Rule 'Control' based on ctype_cntrl

As it is implemented, it accepts an empty string as valid.  I'm
not sure if this should be the case, but changing this on the base
class breaks Alpha and Alnum.
Corrected method name
Ctype rules now may accept or not the empty string

This will help wrapping some rules, as ctype_digit and ctype_cntrl
without breaking Alpha and Alnum.