streams: make setDefaultEncoding() throw

This makes behavior consistent with `readable.setEncoding()`.
I copied that directly from `string_decoder`. I guess it should be changed there as well?