yktoken: remove encoding.binary's Read()/Write()

Using reflection is slow and we know what's inside a token.  Just call
the read and write bits we need.  In my benchmarking, this moves from
~2000ns/op to about 40ns/op.

This patch ends up touching more code because by removing error the
Read() and Write() calls, a number of routines no longer have error
codes to return and so this patch recursively removes those up the stack
as well.
Add test for NewToken()
Merge branch 'remove-encoding-binary-read-write'