No need to filter out existing tags.

The append method does this job for us, so while it didn't hurt to double-up, it was unnecessary.
Implementing the equivalent of Array#replace to clean up Gutentag::TagNames.new_with_names.

The class method's implementation felt ugly (granted, that's subjective), and replace's implementation is pretty clean. Does make me wonder if the + method does the right thing - should the existing object be modified, or should a new object be returned? Probably the latter, so that's some food for thought.