cpu/lpc2387: gpio: Fix interrupts on PORT2
cpu/lpc2387: gpio: Fix interrupts on PORT2

The calculation of `_state_index` is broken for `port = 2`

    _gpio_isr_map[n + (port<<1)];

Will not yield the right result. As a consequence, IRQs on Port 2
are not working.
The right thing here would be

    _gpio_isr_map[n + (port ? 32 : 0)];

But we might just re-using the `_isr_map_entry()` function.
Also only iterate as many times as there are set interrupt bits.

basilfx/RIOT,ant9000/RIOT,miri64/RIOT,authmillenon/RIOT,kYc0o/RIOT,OTAkeys/RIOT,miri64/RIOT,basilfx/RIOT,authmillenon/RIOT,yogo1212/RIOT,jasonatran/RIOT,yogo1212/RIOT,kYc0o/RIOT,yogo1212/RIOT,RIOT-OS/RIOT,RIOT-OS/RIOT,OTAkeys/RIOT,yogo1212/RIOT,RIOT-OS/RIOT,OlegHahm/RIOT,basilfx/RIOT,authmillenon/RIOT,RIOT-OS/RIOT,authmillenon/RIOT,yogo1212/RIOT,jasonatran/RIOT,kaspar030/RIOT,OTAkeys/RIOT,kaspar030/RIOT,miri64/RIOT,authmillenon/RIOT,OlegHahm/RIOT,OTAkeys/RIOT,ant9000/RIOT,ant9000/RIOT,kYc0o/RIOT,kaspar030/RIOT,kYc0o/RIOT,jasonatran/RIOT,ant9000/RIOT,miri64/RIOT,kYc0o/RIOT,authmillenon/RIOT,jasonatran/RIOT,OlegHahm/RIOT,OTAkeys/RIOT,kaspar030/RIOT,yogo1212/RIOT,basilfx/RIOT,ant9000/RIOT,miri64/RIOT,kaspar030/RIOT,OlegHahm/RIOT,basilfx/RIOT,jasonatran/RIOT,OlegHahm/RIOT,RIOT-OS/RIOT