Explicit return value avoids SEGV

For reasons as-yet unknown, rb_enc_associate returns a value that can
trigger a subsequent SEGV when the value is used. This SEGV is totally
deterministic and repeatable.

We reviewed the C implemention of rb_enc_associate, and it seems that it
always returns the first parameter (in all code flows). However,
explicitly returning the parameter from the SLICE2STR macro eliminates
the SEGV on all runs.

We are not yet sure what the actual difference between these
implementations is, and until we figure it out, this code path should be
considered suspect and seriously concerning.
Update CHANGELOG