kernel: do not assume arch is arm

In the kernel.mk file the target architecture is
assumed to be ARM. This may not be true, so
it's changed to use the $(TARGET_ARCH) variable.

Change-Id: Ia9347a44fcfdc40846e1cd6626c4e574bd93b16f
kernel: add support for bzImages

Some boards, like smi, uses bzImage images for the kernel,
so we add the option enabled by BOARD_USES_BZIMAGE in BoardConfig.mk

Change-Id: I40a889de2d1a201cd10721b4005096d067d0be10
merge changes from CyanogenMod 10.2 into local branch