Implemented support for dfn aliases and scoping

Added support for data-title='foo|bar|bat' style aliases for
definitions.
Added support for data-local-title='s|p|t' style local aliases for
definitions.
Added support for data-dfn-type to specify the scope of a
definition or group of definitions.
Added support for export and noexport to flag that a definition should
be made available outside of the document being generated.

Note that these changes are all backward compatible.  Current documents
should see no changes in their output.

If you start using the new data-dfn-type to define the type of a
definition or of a reference, it will cause the typeName to be included
in the ID / IDREF.  Otherwise there are no current effects.
I am inclined to agree.  But I am not going to 'correct' it until Bikeshed decides on a syntax so that we can be compatible.  At the moment they are leaning toward using the attribute 'x' to define the cross reference aliases.