[CORE] Move size_t to arch_types.h

The size_t is nothing but unsigned integer of size same as machine word.

This means on 32bit systems size_t is same as "unsigned int" whereas on
64bit systems size_t is same as "unsigned long".

If we don't have size_t as per above then it may create conflicts with
drivers ported over from linux source or elsewhere. Currently, it creates
size_t conflicts in lwIP when compiling lwIP for 64bit systems.

To handle this properly we make size_t definition architecture specific.

Signed-off-by: Anup Patel <anup@brainfault.org>