Moving utils and scripts around to keep things clean
Moving directory structure around to keep the root from getting too cluttered
Fixing up the semaphore UT.
Fixing compile errors and updating docs form backported API changes.
Backporting more changes to thread expiry/timeout logic from trunk
Updating docs after backports
Backports continued.
Backporting drivers and features from R2 to R1, including Cortex-M0 support.
Fixing encoding in message.h