all targets - gpio - NC guard

	- gpio init enables to set pin to NC, thus the rest of gpio HAL should not do any action
	  if pin is set to NC.
gpio and pinmap - asserts for NC as parameters (not init), abort retarget

	- retarget - abort - calls mbed_die
	- asserts added to gpio mbed hal for all targets
All targets except STM - asserts for checking presumptions (function parameters)
Add support for GCC_ARM toolchain in target STM32F103RB
[ALL TARGETS] error replaced by assert for preconditions
__ASSERT_MSG macro for uvision, corrections in LPC targets - serial - assert
assert - logic corrections
[K20, LCP1768, F100RB] asserts corrections
[NUCLEO_F072RB] Add cmsis files (part 1)
[NUCLEO_F072RB] Add cmsis files (part 2)
Update gpio_api.c

Modified gpio_set() to allow PIO0_0, PIO0_10, and PIO0_15 to be properly configured for GPIO.
[NUCLEO_F072RB] Add cmsis files (part 3)
[NUCLEO_F072RB] Add cmsis files (part 4)
Changed LED mapping to RGB

Changed the pin mapping for LED1, LED2, and LED3, to Red, Green, and Blue respectively. This matches the KL25Z and LPC11U68, and makes more sense in my opinion.
Merge pull request #322 from bcostm/master

[NUCLEO_F072RB] cmsis files
Update gpio_api.c

Modified gpio_set() to allow PIO0_0, PIO0_10, and PIO0_15 to be properly configured for GPIO.
- Added initialization for Tx Fifo values and provided value for TFWR bits in ENET_TFWR register

Signed-off-by: Sergio Scaglia <sergio.scaglia@arm.com>
Merge pull request #321 from neilt6/master

[LPC11UXX ] gpio_api.c - pin expansion
Merge pull request #314 from punitsoni/stm32_gcc

[STM32F103RB] Support for GCC_ARM toolchain
[NUCLEO_F103RB] Update xxx_free() function + typo corrections