Fix ToString code generation for repeated bytes fields

See https://github.com/quarkgames/ProtoBuf/commit/2c651d937919474e938b8035e245076c5e9a4909 (and also https://github.com/quarkgames/ProtoBuf/commit/b0061e18e7ff42ebcf01f0354fae4d553271c07f) for previous work related to this issue.

byte[].ToString() causes a really nasty issue that causes all further byte[]s to be translated to 0's.  We previously fixed most instances of this, but we still have one case where a `repeated bytes` field generates code for a List<byte[]> that gets translated as:
`GemIds.ConvertAll<string>(o => o.ToString()).ToArray())`
Which really needs to be
`GemIds.ConvertAll<string>(o != null ? BitConverter.ToString(o) : "").ToArray())`

This pull request adds another case to the `GenerateProperties` method to account for this.