Get USBHost to build and run with GCC_ARM

I have made one change to this branch since I originally posted a tracking issue for this item.  That change was based on great feedback from Martin.  More information about the commits found in this pull request can be found in the individual commit descriptions.

Testing I have performed on these changes:
* Made sure the library builds successfully with GCC_ARM using my makefiles and the official mbed python build scripts.
* Used GCC_ARM to build and test the USBHostMSD_HelloWorld sample found here-> http://mbed.org/handbook/USBHostMSD. It ran successfully.
* I took my updated USBHost library sources and uploaded then into a USBHostMSD_HelloWorld project on the mbed site. I then built the code using the online compiler and tested the resulting binary.
* I have used GCC_ARM to build and test USBHostMouse, USBHostKeyboard, USBHostSerial, and USBHostHub samples as found in the mbed Handbook.

Thanks for your consideration,

Adam