go: typeHASHREF / typeARRAYREF can only be used if refcnt=1

Since we're encoding in a single pass, we can never know if this
structure will be referenced later or not.  Just assume it is, which
means we use an extra byte here.  The TODO to fix this properly already
exists.