Fixes #1209
This patch implements the memory barrier macros in the USB driver for ARMv7 and x86. Fixes #1159.
Issue #1082
This patch changes the top-level directory layout as a preparatory step for improving the tools for managing 3rd-party source codes. The rationale is described in the issue referenced below. Issue #1082