Due to limitations in Go we cannot create a Def for a Map or Set that has a key that is a Map, Set or a List. This is because the key if a Go map needs to be a comparable and maps and slices are not comparable.
This adds a new codegen that reads .noms files and generates Go API for these types Issue #304