Fixes TypeError check in Unmarshal

decoder.terrors can be empty but non-nil if the unmarshaler function is called multiple times in UnmarshalYAML.
This fixes the case where d.terrors is empty but has a non-zero capacity, which previously resulted in returning a TypeError with an empty list of error strings.