Trace_common.Var_intVery similar to what can be found in "repr/type_binary.ml", but working straight off channels.
Var_int.read_exn reads the chars one by one from the provided chan. The recursion stops as soon as a read char has its 8th bit equal to 0.
Var_int.write could be implemented using Repr.encode_bin int, but since read_exn isn't implemented using repr, write isn't either.