This class can only add / remove Attributes, but it does it relatively
efficiently compared to existing AttrBuilder, providing a consistent compile-time
speedup according to https://llvm-compile-time-tracker.com/
Internally it maintains two SmallVector of sorted Attributes, which turns out to
be more efficient than temporary hashmap and bitfields as used by AttrBuilder.
Just wondering if storing both in one vector would make sense? Would allow reusing the normal comparison on attributes and generally simplify the code. Or is that noticeably less efficient?