Fixed "no data" case when an encoding is specified

When an encoding of "string" is specified, and no data a set, an empty string is expected.

This  bug was introduced by https://github.com/maxogden/concat-stream/commit/afff9d06f5d210b13f6392cb0141715a3e1ef983. The intent of that commit was to return an array when there was no data and no encoding, however it never actually checked that there wasn't an encoding.