[Sub-issue of #9053]
Estimation: 2 days
The reason why we want to include this change here is that we want to introduce PrepareProposal with it final API (i.e., using extended commits). In the first release the extensions will be marked as "reserved for future use", in the style of IETF documents.
The goal is to minimize breaking APIs (even if we know we'll be breaking them more than once as a result of spreading ABCI++ changes across releases, which is in itself good).