Bcmxcp : Use command map to control which instcmd are supported. Refactor code to avoid duplication

Here is a new round of code changes for bcmxcp. I've seen that you are preparing a release, so I do not know if you want to include all these changes in a new release, if the bcmxcp branch gets merged at all.
The changes up to 29bba49 are not that big. Some of the changes are general code refactor / cleanup, on code which I have not touched earlier. And some are refactoring for changes I made about a month ago.

The changes to use the command map to control which instcmd are supported, are new changes.