Removed ITag class

ITag only required the Apply method, which is also required by Tag,
which all other tags inherit from. ITag provided no value to justify its
existence.
Removed references to removed ITag class
Rename TagStream.Escape() to Unescape()

TagStream.Escape() doesn't actually escape things; it unescapes them.
Unescape is a more appropriate name.
Exception changes, more ITag references

- TagFactory incorrectly tested whether types had the Tag interface. Tag
isn't an interface; it's a base class. TagFactory now checks for Tag as
a base class.
- TagStream no longer stores the template name; instead, BlockTag
supplies it and rethrows the exception.
- The multiple exceptions were rolled into the one RaindropException
again. Instead, throwing code supplies extra data to the
RaindropException's data dictionary.
Removed outdated TagStream.EOF comment