Add Builder classes for protobuf types

cc @JakeWharton

These are mostly IntelliJ's doing, with a few exceptions:

- use `Builder.build()` across all building classes (IntelliJ called it `.createThatClass()` which seemed weird to me.
- added a `Thing.builder()` method to make a mutable copy of classes

I didn't add tests for these things because they are, for the most part, tested transitively through the refactor IntelliJ did.

Thanks, IntelliJ!
This should be called `setFullyQualifiedName` to match the getter on the class.