Use __class__ for final output-driven config instead of class-overridden enum

Replace Linker.OUTPUT_* constants with just using __class__ and then
comparing against the final output Target-derived classes to apply
special-case logic.