safeDecodeInt16

Reads a Short/Int16 from the array's current position, and then increments the position. If there are not enough bytes in the array, it assumes that the remaining length is padded with zeroes.