drivers: improved the low-level GPIO driver IF

- removed UNDEFINED value from device enum
- changed most functions to void return value
- add parameter for interrupt callback
cpus: adjusted uart implementations for changed IF

- adjusted stm32f0
- adjusted stm32f3
- adjusted stm32f4
- adjusted sam3x8e
- adjusted nrf51822
tests/periph_gpio: added test cases for GPIO driver
Merge pull request #1484 from haukepetersen/fix_drivers_gpioif

drivers: improved IF for low-level GPIO driver