Add PB::Binary::WireTypes with tests

Put WireType enumeration in a common place, with tests to make sure the
values don't accidentally change (they're part of the PB standard).
Switch to using PB::Binary::WireTypes

Move code and tests using either WIRE_TYPE_* or hard-coded numbers to
the WireType::* enum instead.