encoder.js :: create buffer that are atleast the size we need

So that we don't keep creating new buffers for each call.
encoder.js :: copy into index (ignore offset)

Offset is for handling subsets, not for WHERE to write.
test :: added test for encoding and decoding PID's
test :: initial tuple test to check our broken encoder
encoder.js :: encode short longs through UInt8 otherwise we're out of bounds
encoder.js :: remove log & useless line (len is always set)
decoder.js :: implement skip for tuples, fixed lists, and return bool
decoder.js :: break skip if inner skip fails
decoder.js :: flag decodeVersion as strict
decoder.js :: decode SMALL_INTEGER_EXT via readUInt8
test :: verify long and short tuples with direct tests and skipTerm