Move fixed-width integer type definitions out of arch/types.h to types.h

The correct types for these can be determined based on CONFIG_{32,64}BIT,
so move them away from arch/types.h as having them there results in code
duplication between architectures.

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
Simplify list_prev and list_next macros

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
Rename kmain_bsp()/kmain_ap() to kmain()/kmain_secondary()

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
Pass -W to readelf when generating kernel image information files

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
kconfig: Hide choices with only one visible option and menus with no children

Choice entries that only have one visible option and menus with no children
need not be shown, it is somewhat pointless to do so: for example, the
endianness choice added by the next commit need not be shown on platforms
that only support one endianness.

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
Various build/Kconfig cleanups

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>