If Bulk-Only Mass Storage Reset command was received on
Control Endpoint ignore next Bulk OUT transfer if it was not
a CBW (as it means it was a unprocessed leftover from
transfer before reset happened).
Make the following changes to reorganize the repository:
-Update HAL folder so it only contains necessary headers and
each targets implementation of those headers
-Move processor specific cmsis-core files into the hal folder under
the appropriate processor folder
-Remove target/IAP information from the bootloader and interface
folders
-Move all target specific information into a target folder