Doctree validation: Refactor element category classes.
Reconcile element category classes in `docutils.nodes` with descriptions
in doctree.txt and make them fit for use in declarations of valid
children.
- Define and use new class `SubRoot` for elements that may only be used as
direct children of `document`.
- Drop `Structural` from base classes of `document`.
- Make `Invisible` a subclass of `Special`.
Use this to simplify class definitions of `Invisible` special elements.
Sort categories
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@9693 929543f6-e4f2-0310-98a6-ba3bd3dd1d04