internal/gen: prepare code generator for structs

Allow code handler to generate structs as well. Also now include
positional indexes for easier debugging and compacting output
for sparse slices.

Change-Id: I54ff6b64931d1fdfdd1cfc9ac520c2204e4ffd4d
Reviewed-on: https://go-review.googlesource.com/19191
Reviewed-by: Nigel Tao <nigeltao@golang.org>
8 files changed