Update to mbed SDK revision 92
Major update to makefiles

These updates were made to mimic the TARGET_ and TOOLCHAIN_ directory
filtering that the Python based mbed SDK build system use.  Now when
building for a particular device you specify the target directories
that should be included in the build by listing them in the
TARGETS_FOR_DEVICE variable.  The makefiles will now exclude any
directories containing TARGET_ which don't match the provided list.
The makefiles also exclude non GCC and GCC_ARM toolchain directories.

Changes that impact per device makefiles (ie. LPC176x-device.mk):
* The *_TARGET_SRC (ie. HAL_TARGET_SRC, ...) variables are no longer
  required. The build file will automatically find source files in
  these directories (since they match the specified TARGETs).
* TARGETS_FOR_DEVICE is new and needs to be set to the list of
  TARGET_ directories that should be included in the build for this
  device (ie. TARGET_LPC1768, ...).
* GCC_DEFINES no longer contains the list of -DTARGET_ definitions but
  instead just builds them from the TARGETS_FOR_DEVICE list by
  prepending -D to each item.
Update README to mbed SDK revision 92
Revert Debug builds back to -O0

I tried out -Og for debug builds but really the debug experience was
pretty much the same as -O2.
Rename NUCLEO_F401RE device makefile

Changed the filename to match the MBED_DEVICE variable setting within.
Fix build to work on Windows

I had switched the recurse_dir makefile function to use the Posix find
command.  This works on OS X and Linux but not Windows.  On Windows, I
created a win32_find makefile function to substitute for find.  It uses
"dir /s" at its core but also needs to handle the fact that the
directory names in the results are supposed to be relative and not
absolute.
Merge branch 'working' of github.com:adamgreen/gcc4mbed into working
Update new device porting notes

I updated the notes now that TARGETS_FOR_DEVICES is used to configure
which subdirectories should be built for a particular device.
Update NUCLEO_F401RE-device.mk

I updated this makefile to have the TARGETS_FOR_DEVICE exactly match
what I see in the mbed SDK Python build process.  I also updated to use
the same floating point flags as well.
Properly wrap main()

The mbed SDK expects the main() function to be wrapped so that it can
call mbed_sdk_init() and mbed_main() before calling the real main()
function.
Temporarily remove NUCLEO_F401RE support

The recent updates from revision 91 to revision 92 of the mbed SDK have
led to an issue where binaries are successfully built for this platform
but the resulting binary doesn't actually execute properly.  I will
revert this change once those issues have been figured out.
Merge branch 'working'

Updating to revision 92 of the mbed SDK.