Added a new GetBuilderTypes method

Factory's new GetBuilderTypes method finds all the types in the current
AppDomain that inherit from ITagBuilder.
GetITagBuilders uses reflection again

Factory.GetITagBuilders is back to using reflection again. It even
detects ITags with no default constructor and reports them.
Factory detects and reports duplicate tag names

The Factory will now detect builders with duplicate names and report the
name and type name of the conflicting builders.
Factory throws exception instead of swallowing

Forgot to throw an exception in the factory once it was constructed...
Deleted obsolete code

The commented out Factory.GetTagTypes method is no longer needed, so
it's deleted now.