ARRAY_SIZE(): make it usable on 64-bit systems
ARRAY_SIZE(): make it usable on 64-bit systems

With code that looks like this:

	for (int i = ARRAY_SIZfoo) - 1; i >= 0; i--) ...

If foo is empty, ARRAY_SIZfoo) will return 0. But since it is
implemented using an unsigned long, the answer to 0UL - 1 is
18446744073709551615 on a 64-bit system, and that doesn't fit into
an int. The compiler complains with:

warning: overflow in conversion from ‘long unsigned int’ to ‘int’ changes value from ‘18446744073709551615’ to ‘-1’ [-Woverflow]

Let's fix that and get the expected behavior simply by turning the
unsigned long into a signed long.

Signed-off-by: Nicolas Pitre <76342682d5afc62854e1102d9578521fe1ed6813@baylibre.com>

finikorg/zephyr,Vudentz/zephyr,galak/zephyr,galak/zephyr,GiulianoFranchetto/zephyr,finikorg/zephyr,nashif/zephyr,zephyrproject-rtos/zephyr,Vudentz/zephyr,nashif/zephyr,finikorg/zephyr,Vudentz/zephyr,zephyrproject-rtos/zephyr,Vudentz/zephyr,zephyrproject-rtos/zephyr,zephyrproject-rtos/zephyr,GiulianoFranchetto/zephyr,GiulianoFranchetto/zephyr,GiulianoFranchetto/zephyr,Vudentz/zephyr,finikorg/zephyr,nashif/zephyr,zephyrproject-rtos/zephyr,nashif/zephyr,nashif/zephyr,galak/zephyr,galak/zephyr,finikorg/zephyr,GiulianoFranchetto/zephyr,Vudentz/zephyr,galak/zephyr