Add -boundscheck=[on|safeonly|off] option

Replaces -noboundscheck (which becomes deprecated)

Fixes issue #12550
fix Issue 7887 - [CTFE] can't assign to returned reference
Cleanup -vgc implementation
Merge pull request #3405 from jpf91/cleanVGC

Cleanup -vgc implementation
Merge pull request #3443 from eco/boundscheck

Add -boundscheck=[on|safeonly|off] option
excise .dup and .idup from compiler
Merge branch 'master' into rmdup
Merge pull request #3451 from WalterBright/rmdup

excise .dup and .idup from compiler
Merge pull request #3449 from 9rnsr/fix7887

Issue 7887 - [CTFE] can't assign to returned reference