CONTRIBUTING: Document required encode buffer and data length exchange

Historically there have been some sharp edges in the public API where
encode_*() functions require an exactly-sized buffer despite the input
data being variable length. Fix that by requiring encode_*() APIs return
the encoded length to the caller, allowing the provided buffer to be
over-sized.

Change-Id: I8b67b2008910ed2dc39424a99fe348946baf584c
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e64c654..389952a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -267,6 +267,10 @@
 [libpldm-iterator]:
   https://github.com/openbmc/libpldm/commit/3a2c6589c5660d2066b612bae28ca393a8aa1c2b
 
+- [ ] My `encode_*()` APIs exchange with the caller the size of the destination
+      buffer and the length of the encoded data using an in-out buffer length
+      parameter
+
 - [ ] My new public message codec functions take a `struct` representing the
       message as a parameter
   - Function prototypes must _not_ decompose the message to individual