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.
New rule 'Printable' based on ctype_print

More tests would be nice, but I've run out of ideas.
New rule Graphical based on ctype_graph
New rule 'Xdigit' based on ctype_xdigit
New rule Punctuation based on ctype_punct
New rule Space based on ctype_space
Removed duplicated rule Xdigits (there is Hexa already)
Removal of braces on single-line statements

I've only removed braces from the files I'd changed/created on my
last pull request.  Notice, however, that there are other files
where this still happens.
Removal of $acceptEmptyString

Notice that this changes the behaviour of some rules (of Digits in
special).  That's why some lines from the tests appear in the diff,
they were removed from the invalid data provider and where put into
the valid data provider.
Updated documentation

I've also marked hexa as deprecated and moved `countryCode` to
its alphabetical position.
New Xdigit rule based on the previous Hexa rule

This is a really ugly copy'n'paste.  There are two problems to
solve: how to make 'hexa' deprecated and how to make its use fall-
back to xdigits.

The simplest solution would be to put a if in Validator::buildRule,
but it's too hackish for my taste.
Mark Hexa as deprecated

I've also changed its tests, setting an error handler that does
nothing.  Maybe we should check if E_USER_DEPRECATED is really
being triggered, but I'm not sure on how to do it.
Removed unnecessary check in AbstractCharGroup