Add user-defined/set errors; Fix minor VGetNext error handling bug

QCBORDecode_SetError() is added so QCBOR users can set an error and have it propagated up.

The data and label type of the item returned by VGetNext is correctly set to NONE when the error occurs right away, but was not set to NONE when the error occurred previously. This is fixed. This is a minor bug and only affected error handling use that relied solely on checking that the data and label were NONE.

Added more testing of error processing.


* Add SetError(); VGetNext error bug fix

* Documentation fixes

---------

Co-authored-by: Laurence Lundblade <lgl@securitytheory.com>
diff --git a/test/run_tests.c b/test/run_tests.c
index 9e747a6..988fd36 100644
--- a/test/run_tests.c
+++ b/test/run_tests.c
@@ -66,7 +66,8 @@
 
 
 static test_entry s_tests[] = {
-    TEST_ENTRY(OpenCloseBytesTest),
+   TEST_ENTRY(ErrorHandlingTests),
+   TEST_ENTRY(OpenCloseBytesTest),
     TEST_ENTRY(EnterBstrTest),
     TEST_ENTRY(IntegerConvertTest),
     TEST_ENTRY(EnterMapTest),