Attribute validate functions:
* convert string representations to correct data type,
* normalize values,
* raise ValueError for invalid attribute names or values.
The `nodes.Element.validate()` function reports a warning
for validity problems if `self.document.reporter` is available
and raises a ValueError if not.
Testing revealed problems with the "recommonmark_wrapper" parser:
* Validating should be done *after* the "clean up" operations.
* One test case uses an invalid class argument (underscore not allowed
by Docutils). As this sample tests an "only Sphinx" feature,
we just drop it from the Docutils test suite.