bcm2708_gpio: make room for additional GPIO chips

ARCH_NR_GPIOS is set to 54, and all is used by the onboard gpio controller.
This makes no room for additional gpio controllers to be added.

ARCH_NR_GPIOS limits how many gpios that can be used on a platform.
From gpiolib.c:
static struct gpio_desc gpio_desc[ARCH_NR_GPIOS];

Lift this restraint by using the default value for ARCH_NR_GPIOS, which is 256,
and make a new macro for the on-chip number of gpios.

Signed-off-by: Noralf Tronnes <notro@tronnes.org>
Merge pull request #569 from notro/gpio

bcm2708_gpio: make room for additional GPIO chips