Added specification for new features.

Use manually set uid values in named attribute, 
validating that they have not already been used, 
and in the range of values specified.

Allow for the scope of the elements considered 
when building a header file to be altered:

-Global: 	all elements of a given type.
-Scoped: 	all elements of a given type, below an
			element of a given type (the processor
			instruction would be at the ancestor's
			type node in the schema, naming the 
			descendant type to pool as a parameter
			).

Element naming collisions must be flagged, once 
any hierarchy stripping has been applied.
Better descriptions of new specifications.
Added TODO comments to direct coding.
Implemented manual UIDs and prepending names.

The user can now add a UID Attribute to manually 
set each Element's UID value. Those Elements 
without the attribute still have their UID 
generated automatically.

There is also an option (default is on), to 
prepend all Element names with their Element's 
ComplexType, when entering them into the 
enumeration block.
Added explanation of features and bug fix.

The uidTypes hash now stores the enumerationCount 
for a given ComplexType, across all Element paths 
of that ComplexType.
Reran example input to generate new output.