Add NRF51822 MKIT support

This commit adds beta support for the Nordic NRF51822 MKIT (PCA10024).
The support isn't complete at this point in time but is enough for me
and maybe others to start kicking the tires.  Known issues include:
* Can't deploy the resulting .hex files to the board via simple drag
  and drop.  There are probably multiple reasons why this doesn't work
  (returns CORRUPT FILE error in fail.txt) but one of the reasons is
  definitely due to the fact that the GNU linker uses types 2 and 3
  x86 segment/offset records when binary is under 1MB in length.  The
  CMSIS_DAP mass storage driver doesn't support these records.
* If the user is already comfortable with using pyOCD for loading and
  debugging images on their mbed targets then the .elf files created
  by the GCC4MBED build process can be deployed and debugged
  successfully using that approach.
* The linker spits out an error like the following for NRF51822 builds:
    "Conflicting CPU architectures 12/0"
  This error is ignored by the linker and it continues to build the
  correct output.

The following samples now build for the new NRF51822 target:
    HelloWorld
    Ticker
    StdIO

I also added the BLHeartRate sample from the mbed site as a sample.
https://developer.mbed.org/teams/Bluetooth-Low-Energy/code/BLE_HeartRate/?platform=Nordic-nRF51822

I also modified debug builds to use the newer -Og optimization flag
instead of -O0 to experiment with the debug experience.  The newer flag
generates smaller binaries but is still supposed to be easy to debug.