More vdltest changes.

Changed vdltest to generate 1-field structs and unions again,
along with an All struct that contains all fields.  It's easier
to understand failures with the 1-field types, and the All type
covers everythng else.

Also changed vdltest to generate "X" types and entries.  These
are types that don't have the VDL{IsZero,Read,Write} methods,
which will force them to use the reflection codepath.  In order
to implement this, the vdl tool is hard-coded to disable
generation of those methods for the vdltest "X" types.

Also generate VNamedError and XNamedError types, which are
compatible with the regular WireError type.  This provides test
coverage for custom error types.

I had mis-read the timings on my last round of CLs; the time to
compile both VDL and Go was actually ~10 seconds.  With this
round of changes it's now actually ~20 seconds, due to the "X"
types and entries.

MultiPart: 1/2
Change-Id: I6fe0126afa6abc959d17d297c98c69da4a540931
25 files changed