There are a lot of places in the code where we write integers for some special purposes. Quite often their value will be vary small, so that applying "varint" format could save a lot of space at the cost of very low additional CPU overhead.
1) Array/collection/map lengths
2) BigDecimal's (usually will save ~6 bytes)
4) Enum ordinals
|CPP: Implement 'varint' solution to be configurable via BinaryConfiguration||Open||Unassigned|