Refactor with a WireType enum

Get rid of the magic wire type numbers in PB::Binary::Writer.
Add write-blob8() for length delimited fields

Will be used for both bytes and string field types.
Test writing string and bytes fields, including utf8