Change the check for vector table relocation

Allows the user to specify his own VTOR location.
Fixes PRMBED-1065.
Add __cxa_pure_virtual to avoid pulling in functions from the C++ library

Fixes PRMBED-859
Fix for the previous "change vector table relocation check" commit.
Added armcc support for STM32F407
Multiple fixes to test_env

- send {{message}} instead of {message}. This is neede to overcome a serial
interface issue on the Freedom board.
- don't blink the passed/failed LEDs if they are not actually connected.
[KL25Z] Fix clock generation for I2C and SPI

Don't set a clock higher than the one requested for the I2C and SPI interfaces,
even if this setting is the closest to the requested one. This was causing
some issues with the EEPROM test and possibly other issues with the SPI SD test.
[KL25Z] Fix tests for KL25Z

This commit fixes a number of issues with invalid/wrong pin assignments for the
KL25Z mbed target:

- analog: PTC1 doesn't seem to be exported at all, replaced with PTC2.
- digitalin/out, interruptin, portin/out: these tests used PTA1 and PTA2, which
are the console UART pins for the KL25Z mbed. The tests now use PTA4<->PTC5 and
PTA5<->PTC6.
I2C EEPROM test: remove the redundant TestHelper class
__cxa_pure_virtual changes

- rename stdio.cpp to retarget.cpp, since it doesn't contain only stdio-related
  code
- move __cxa_pure_virtual from exit.c to retarget.cpp where it belongs.
Added vector table relocation test
Add optional test aliases

If a "test_alias" dictionary is found in private_settings.py, it is searched for
aliases of tests for the "-n" option. For example, if the dictionary has this
association:

test_alias = { "basic" : "MBED_A1" }

you'll be able to use "-n basic" instead of "-n MBED_A1".
Interrupt chaining: preliminary version
Added armcc support for STM32F407
Keep the default automated "test suite" smaller
tests.py: multiple changes

- Change pin assignments for KL25Z
- Two new peripherals: 24LC256 (eeprom), i2c_loop (LPC1768 only, tests communication
  between the two on-chip I2C peripherals)
- add 24LC256 to the list of automated tests (since it's currently the only
  automated I2C test)
- Tests/is_supported: if the test has an "mcu" attribute and the current target
  is not in the list of MCUs, don't include this test.
__cxa_pure_virtual changes

Rename stdio.cpp to retarget.cpp, since it doesn't contain only stdio-related code.
Merge remote-tracking branch 'upstream/master'