Fixed ByteArray.readUTFBytes() to not crash with an empty array.

Without this, readUTFBytes() and toString() crash when used on a newly created but empty ByteArray. This can happen, for instance, with a call to `Assert.isNull(<non-null ByteArray>);`.