Fix handling of empty values for types that implement TextUnmarshaler
Fix handling of empty value. (#104) If a value is decoding into a type that implements the encoding.TextUnmarshaler interface, the decoder should use it's UnmarshalText method in all instances including an empty value. Previously, would ignore the method decoding the field as the empty value of the type.