Changed tag builders to make their own TagStructs

-Tag builders now make their own TagStructs instead of filling out a
partially built one.
Fixed end tag apply error messages

-The messages reported when an end tag is applied now consistently refer
to /tag.
Moved TagStream.Unescape to TagReader

-TagStream.Unescape was moved into TagReader so syntax can all be
handled in the same place.
-Curiosity: TagFactory had a using statement for the Parser namespace
but wasn't using it. When was Parser last used there and why?
Removed already finished TODO

It turns out eof tag build code already all calls the eof tag builder,
so the TODO was already done.
Changed ITag.GetName to ITag.Name

-ITag.GetName (a method) was changed to ITag.Name (a property) because a
property is more natural to use than a getter method.
Defined all use of "eof" in terms of EofTag

-The string "eof" (EofTag's name) is used in a lot of places and was in
the past used inconsistently.
-All use of EofTag's name is now defined in terms of either
EofTag.StaticName or EofTag.Name (which is itself defined in terms of
EofTag.StaticName) so everything will be consistent.