use PROPOSAL_MAX_SENT on the outgoing side, to guarantee all proposals from a node have a unique proposal_num, regardless of delays in processing incoming proposals into larger PROPOSAL_MAX. invariant: all proposal_nums from a node are unique and monotonically increasing, and also always > any incoming proposal num seen (i.e. PROPOSAL_MAX). this requires PROPOSAL_MAX on the input side, and PROPOSAL_MAX_SENT on the outgoing side, with both affecting proposal_num used.