gen/test/quick: Specialize unions (#386)
gen/test/quick: Specialize unions (#386)

This special-cases top-level union types in the quick_test so that we
aren't generating a large number of invalid cases. testing/quick
generates nil pointers sometimes but with unions, where exactly one
field is expected to be set, that takes too long. This also allows us to
test ArbitraryValue.

Unfortunately, because we don't control how testing/quick generates
values when these types are referenced as fields of other structs, we
still can't add things that reference ArbitraryValue without writing
generators for them.
thriftrw/thriftrw-go,thriftrw/thriftrw-go,thriftrw/thriftrw-go