Reduce encode code size; new function QCBOREncode_AddSimple

Reduces object code size for minimal encode use case by about 50 bytes through some re factoring of the encoder. Size is reduced for maximal use cases too.

QCBOREncode_AddSimple() is made public.


* Readme and copyright updates

* Core encoder optimizations

* Tidy up and rearrange

* Documentation fixes

* Make AddSimple public

* Test fan out is working

---------

Co-authored-by: Laurence Lundblade <lgl@securitytheory.com>
diff --git a/test/run_tests.c b/test/run_tests.c
index ce3db14..e4a431b 100644
--- a/test/run_tests.c
+++ b/test/run_tests.c
@@ -137,7 +137,9 @@
     TEST_ENTRY_DISABLED(BigComprehensiveInputTest),
     TEST_ENTRY_DISABLED(TooLargeInputTest),
     TEST_ENTRY(EncodeErrorTests),
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
     TEST_ENTRY(SimpleValuesIndefiniteLengthTest1),
+#endif
     TEST_ENTRY(EncodeLengthThirtyoneTest),
     TEST_ENTRY(CBORSequenceDecodeTests),
     TEST_ENTRY(IntToTests),