Added STM32F411RE defines
Add multiple compile queues support (multiprocessing)
Add header stats cache for need_update() routine
Add compile order consistency
Merge branch 'master' of https://github.com/screamerbg/mbed
Reordered the logics around compile_queue()
Revert global toolchains optimizations
Changed comment
Add -j option to build.py, build_release.py and make.py
Multiple compile jobs are not enabled by default unless -j 0 or -j >1 is specified
Remove --depend option that is specific to armcc
Refactoring of the python multiprocessing code to use queues load balancing based on apply_async();
Use the returned result by apply_async() to fetch compile_worker() results and get rid of python queues;
Optimize the threads handling code
Reuse compile threads via self.mp_pool
Restore verbose logging
Trade slightly more CPU usage for less memory usage
Fixed compile with IAR
Added get_dep_opt for ARM class
Merge branch 'master' of https://github.com/mbedmicro/mbed
Fix KL25Z connect problem with some USB 3.0 hosts

This change fixes a problem I've encountered using the Freescale KL25Z as a USB client device when attaching to a USB 3.0 port on a host PC.  I've personally observed the problem on two PCs, one a Dell running Windows 8.1 and the other a custom-built Windows 7 machine with a Gigabyte mobo.  Several other people on the Web have reported what appears to be the same problem.  It even appears to happen with some Macs - so it's apparently not Windows-specific or Windows-version-specific.  But it does seem to be USB 3.0 specific, and one report speculated that the common element is the Intel Haswell chip set on the host side.

The problem can be worked around by using USB 2.1 ports (many PCs have a mix of 2.1 and 3.0 port hardware) or by connecting a USB 2.1 hub between the device and host.  I have USB 2.1 ports on both of my testing machines, and this solution does work for me.  But I wanted to fix it at the software level if possible, so that my project would work for people who might only have USB 3.0 ports available.

I tracked down the problem to a timing issue that seems to cause the device and host to get out of sync with respect to flow direction on the USB connection during the initial handshake. It seems that the host can issue a CONTROL OUT token at a point where the client is trying to send the response for a previous CONTROL IN token. I found a note in some USB 3.0 reference material that this situation can occur, and that the client can resolve it by sending a zero-length ACK, which tells the host that the client isn't ready and that the host request should be repeated. 

My fix sends a zero-length reply in USBDevice::controlOut() when the control flow error is detected, and also explicitly sends the pending CONTROL_IN packet.  This appears to fix it reliably on my machine.  I'm not entirely confident about the fix, though, since I don't feel I understand the USB protocol or the mbed code in enough depth.  I'm submitting the change here in the hope that someone with a deeper knowledge of the mbed code can determine if this is a good fix, and if not can hopefully use it as the starting point for a better solution.  

Note that I submitted the same pull request via the mbed source control system, but I was advised by another mbed user that I should also submit it directly on github.  Apologies for any confusion caused by the redundant submissions.
Added STM32F411RE to list
Sleep fix + some device.h settings

LPC1114 has no semihosting and also no localfilesystem. I took the
liberty of guessing the LPC11Cxx also don't have those.

Sleep code did nothing outside of locking up the microcontroller
(because semihosting was enabled). Code seems to be copied from
LPC11u24, but the LPC1114 is fundamentally different. (For example
deep-sleep bit is now the deep-powerdown bit, which you dont want).

Aditionally it keeps current peripheral state during deepsleep and when
waking up. Datasheet rates LPC1114 at 6uA in deepsleep, I measured it at
3.7uA. That makes me a happy panda.
Bugfix: Make redirected stdio write initialize UART

Calling a scanf before the first printf would end up calling serial_getc without initializing the UART.
Change F411 to Cortex-M4F instead of Cortex-M4
Added "M4F"

Several listed as Cortex M4 cores are actually M4F cores (having a floating point unit), I did some homework to figure out which ones have FPU's. It appears that the K20D50M is the only board with a Cortex-M4 MCU that is does not have a floating point unit.
Merge pull request #416 from sg-/master

Had duplicate set of api drivers in the directory - deleted