Update implemented pointer format to match docs:  Don't store field count in struct pointers because it isn't needed.  Instead extend data and pointer section sizes to 16 bits, which should be enough for anyone.  Also, store offsets from the end of the pointer rather than the beginning, because this makes it possible for them to be zero, which compresses better.  In particular, the root reference will always have a zero offset, so this will shave a byte off of very small packed messages.