use allocated byte buffers instead of vectors for PackedValue, wins back all or most of the performance loss on this branch
remove peek, next_nil, and next_is_nil methods, no longer used and won't be needed again after this branch goes in
use the packed msgpack byte streams as the in-memory representation of key values, instead of strings
decode postgresql bytea strings before hashing or sending in response to a rows command; decode booleans and pack as msgpack boolean type for portability. add spec coverage for both.
pack integer columns as integer types