CmsisPack: prevent regions from different PEs from overlapping.
CmsisPack: prevent regions from different PEs from overlapping.

- Since pyocd currenly doesn't support multiple memory maps, we have to
prevent the regions from all PEs from overlapping.
- Factored out the code to extract the part number from a device or
variant XML element, so it can be used to report more helpful warnings.

flit/pyOCD,pyocd/pyOCD,pyocd/pyOCD,flit/pyOCD