KL05 - target ARM - gpio, us_ticker

  - cmsis - only one type of MCG at the moment
  - HAL - gpio pins
        - us_ticker
HAL removing code for API which is not ported yet
KL05 analog in+out, gpio irq

  - AnalogIn
  - AnalogOut
  - GPIO irq
  - target KL05 added
Serial API

  - serial UART0 added
  - correction in gpio irq (port b)
KL05 Clocks, PWM, RTC, Serial

  - clock setup update
  - serial correction with core clock (define)
  - pwm defines
  - RTC clock
SPI API
KL05 clock removal, I2C API

  - spi - bus clock clock correction
  - i2c driver
Clocks correction, ticker, tests

  - systemInit - clock update (crystal 32768Hz)
  - us_ticker - MCG clock input
  - Kl05 testing - pin definitions for KL05 (all run in KEIL with debugger)
Move common CMSIS headers
Remove obsolete CMSIS "*.c" files
Serial api - clock, SPImaster test
Avoid including two times the same set of directories
Merge branch 'master' into freedomKL05

Conflicts:
	workspace_tools/targets.py
	workspace_tools/tests.py
Update KL05 to mbed new structure
i2C - pulse definition, serial - define correction
I2C API refactoring

Now the I2C send/receive functions in the mbed HAL return the number of
bytes actually transferred or an error code (a negative value). The
public API remains unchanged.
Added I2C master/slave test
Added timeout to i2c_stop operations

Fixes this issue:

http://mbed.org/users/mbed_official/code/mbed/issues/3
Added I2C master/slave test to the list of tests
Move the target dependent code from the shared code to the HAL implementation
RTC OSC32, systemUpdate v0.1

  - RTC clock init from crystal, tested
  - system update function
  - startup - handler PORTB correction