Add passthrough command and refactor commands in binary format.

The ControlCommand is now more like a VehicleMessage - it has a 'type'
and many optional fields pointing to the various types. If the type is
diagnostic, the client should look at the diagnostic_request field.
Merge remote-tracking branch 'origin/latest-nanopb' into passthrough-command

Conflicts:
	gen/cpp/openxc.pb.c
	gen/cpp/openxc.pb.h
Simplify passthrough command to just a boolean.
Add missing comma in example.