portability: Ensure no C99-illegal semicolons exists in structs
portability: Ensure no C99-illegal semicolons exists in structs

Macro _OBJECT_TRACING_NEXT_PTR expands to a member or to nothing.
Macro _OBJECT_TRACING_NEXT_PTR is used in a number of places, like:

        struct k_stack {
                .. omitted ..
                _OBJECT_TRACING_NEXT_PTR(k_stack);
                u8_t flags;
        };

When the macro expands to nothing, a lonesome semi would remain. This is
illegal in C99, but permitted in GCC with GNU extensions.

Rather than expand to empty, we now expand to a zero-length array.
This means we can retain the trailing semis across structs wherein the
macro is used.

Note that zero-length array (foo[0]) != flexible array member (foo[]):
 * zero-length array: Is GNU+Clang extension. Anywhere in struct.
 * flexible array member: Is C99. Only in end of struct.

Thus we have really only traded-off one portability issue for
another, more acceptable, one at least.

Signed-off-by: Mark Ruvald Pedersen <3c05dc905675c0722f67ee578faf639727313efa@oticon.com>

zephyrproject-rtos/zephyr,explora26/zephyr,ldts/zephyr,nashif/zephyr,finikorg/zephyr,nashif/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,punitvara/zephyr,GiulianoFranchetto/zephyr,explora26/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,galak/zephyr,galak/zephyr,punitvara/zephyr,nashif/zephyr,explora26/zephyr,punitvara/zephyr,nashif/zephyr,finikorg/zephyr,zephyrproject-rtos/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,GiulianoFranchetto/zephyr,Vudentz/zephyr,ldts/zephyr,Vudentz/zephyr,ldts/zephyr,nashif/zephyr,explora26/zephyr,galak/zephyr,punitvara/zephyr,Vudentz/zephyr,Vudentz/zephyr,explora26/zephyr,Vudentz/zephyr,GiulianoFranchetto/zephyr,ldts/zephyr,GiulianoFranchetto/zephyr,finikorg/zephyr,GiulianoFranchetto/zephyr,Vudentz/zephyr,punitvara/zephyr,ldts/zephyr