decodes `data`, which can be either a buffer or array of integers, from position `offset` or default 0 and returns the decoded integer
decodes `data`, which can be either a buffer or array of integers, from position `offset` or default 0 and returns an array containing `[number, length]` where number is the original integer and length is the amount of bytes that were consumed in order to decode the number