Honour ByteBuffer position in StringUtils

StringUtils.fromByteBuffer(...) behaved incorrectly if the given ByteBuffer's position was not set to 0. This commit changes it to correctly honour the position and limit.