Fix. #60. user commands in 'setup' are pruned and forced unique

**Sorry**. I know heqichen said he would fix this and will probably do a better job, but I needed this quickly.

**Changes…**
Tiny new function to Translator `addSetupCommandForced` which **does** add duplicate commands – not like `addSetupCommand`

***Big Change***:: ProgramBlock now uses `addSetupCommandForced` to create setup section

CodeSetupBlock now uses `addSetupCommandForced`

SetupBlock is unchanged as it is not used?


___Basic testing seems OK but problems might be…___

Some existing Blocks might need to think if to use `addSetupCommandForced` or `addSetupCommand` and what will happen if they are in the setup section more than once.

Some existing .abp programs might break if they expect duplicate setup commands to be auto-removed?