Variadic Scanning in pure C First Example: *working*

I'm happy to report that a bit of hacking led to a successful first test flight of fully C-standards compliant, variadic scanning.

Here's a quick sample native:

//
//  variadic-scan-test: native [
//
//  {Demo the routine powering the variadic scanner with 3 items}
//
//      item1
//      item2
//      item3
//  ]
//
REBNATIVE(variadic_scan_test)
{
    INCLUDE_PARAMS_OF_VARIADIC_SCAN_TEST;

    REBARR *result = Scan_Va_Managed(
        "if not", ARG(item1), "[\n",
            ARG(item2), "| print {Close brace separate from content}\n",
        "] else [\n",
            ARG(item3), "| print {Close brace with content}]\n",
        END
    );
    Init_Block(D_OUT, result);
    return R_OUT;
}

Invoking it actually worked on the first try, as intended:

>> variadic-scan-test 1 {Two} [T h r e e]
== [if not 1 [
    "Two" | print "Close brace separate from content"
] else [
    [T h r e e] | print "Close brace with content"
]]

Pretty nifty, huh?

If you're not concerned about the newlines (most rebDo() or whatever you call it would perhaps not be) then it could look a bit cleaner. We could also consider some separate token for that so it didn't make the code as ugly.