Added capability to process splatted arguments and moved the check
of argument number compatibiilty from macro expansion time to runtime.
Modified to differentiate situations when splatting does and does not
occur and checks argument cardinality at macro expansion time if not.
Further optimized based on lack of splatting
Added for spatted printf tests
Merge pull request #7678 from waTeim/waT/printf

Update for issue #7175; enabling splatting for printf