Tweak valid and text names

Remove valid/invalid/set_valid and just have valid().

Remove the set_ prefix on set_text_*.
Add mutating setters to ItemBuilder

Update all the unsetters to be mutating instead of functional.

This allows for creating an ItemBuilder functionally, then mutating it
imperatively.