Add support for variadic macros for C++11 support.

This implementations strictly follows the C++11 standard, by
requiring at least one argument to be passed as the variadic
argument list.