Change array<GAKeyValue> to map<string>.

This PR removes the `GAKeyValue` type in favour of using the native Avro [map](http://avro.apache.org/docs/1.7.5/idl.html#maps) type. The `GAKeyValue` type is always used as an array<GAKeyValue> and is intended to correspond to a JSON map. The Avro map type gives precisely the same semantics without requiring the extra type.

Also removed the comment "In JSON, this looks like: `info: {key1: value1, key2: value2}`" as the translation to JSON is now clear.
does this field need to default to `{}` rather than `[]` like the others?