Force all object files from mbed.a to be linked

I have hit a few issues recently with the STM code base where weak
overrides weren't being pulled in because nothing was explicitly
causing the modules containing the strong implementations to be
pulled in.

The official solution for the STM devices is to explicitly list every
.o file in its HAL to the linker.

I am now using the --whole-archive linker flag to cause all .o files
found within mbed.a to be pulled in by the linker.  The section garbage
collector will still purge the unused code/data so it shouldn't lead
to code size increase except where it now pulls in the correct code and
didn't do so before.