mach-msm: fix gpio.h derps

Running into a whole slew of ARCH_NR_GPIOS redefinitions has resulted in
changing a lot of include locations from <linux/gpio.h> to <mach/gpio.h>
but not fixed the root problem.

Add a check to mach/gpio.h to see if it's defined before redefining it,
and define ARCH_NR_GPIO in the ARM Kconfig instead. With these changes
we can have select NEED_MACH_GPIO_H for our platform without causing
redefinitions.
mach-msm: minor tweak to Kconfigs

Minor tweaks to selects to keep them consistent with MSM-3.10's
formatting. Not including SPARSE_IRQ because we don't use DT for our
board files.
MPM: tweaks & bring up MPM earlier

Remove unused/unneeded functions and change our initcalls so MPM is
brought up earlier in our hybrid sources (like in mpm-of)
devices-8960: fix renamed struct and compile
drivers/gpio: use gpio-msm-v3, remove versions 1 & 2

The files are pretty much identical anyways, so it should be an easy
drop-in replacement for v2 and it solves an undefined reference to
__msm_gpio_set_subsys_id from coresight.