Initial K20 fixes

Added the required gpio-irq enable/disable + fixed bus_frequency
[NUCLEO_F030R8] add more pwm, correction in I2C
Merge branch 'master' of https://github.com/mbedmicro/mbed
[NUCLEO_F030R8] add pin for UART
Modified timer code

Timer/Wait timer
Some tab fixes
Moved ticker timer to a PIT channel + adjusted namings

The timer which creates interrupts is now also done using one of the PIT
channels. Since also here no chaining is possible we still need to do
some bits in software, but 32-bit without prescaling is still better
than 16-bit with.

Also some code was moved around and naming conventions changes, since no
lptmr is used anymore, and calling both pit-timer would get confusing
Update gpio_irq_api.c

More irq's and user button bugfix copied from NUCLEO_F103RB commit ab7cc12 by bcostm
Update device.h

Enable DEVICE_ERROR_PATTERN to detect errors with fast blinking on green and blue leds.
NUCLEO_F401RE and NUCLEO_F302R8 - FPU enabled
Added (deep)sleep

Pretty much copy pasta of KLxx sleep code with only tiny change
Update gpio_irq_api.c

enable 16 irq channels, expanding EXTI9_5_IRQn and EXTI15_10_IRQn
Merge pull request #264 from Sissors/master

K20 general and timer adjustments
Merge pull request #267 from 0xc0170/fix_nucleo_fpu

NUCLEO_F401RE and NUCLEO_F302R8 - FPU enabled
Merge pull request #266 from cfb95/patch-2

Update device.h
Merge branch 'master' of git://github.com/bcostm/mbed into bcostm-master
Merge pull request #265 from cfb95/patch-1

Update gpio_irq_api.c
Revert "Merge pull request #265 from cfb95/patch-1"

This reverts commit 6b9fca177ab428a93a520d666ca5b4aeb921da51, reversing
changes made to c9167e8c43e88993cf02fe17587f2206fa1bba2e.
Merge branch 'patch-3' of git://github.com/cfb95/mbed into cfb95-patch-3
Merge pull request #262 from dbestm/master

[NUCLEO_F030R8] add more pwm and UART pins, correction in I2C