Fixes Issue 9358 - Compiler creates duplicate switch cases on error.
Fixes Issue 2452 - Better diagnostic on unimplemented interface.
moving toward pull #1179
Merge pull request #1523 from AndrejMitrovic/Fix2452

Issue 2452 - Better diagnostic on unimplemented interface
Merge pull request #1521 from AndrejMitrovic/Fix9358

Issue 9358 - Compiler creates duplicate switch cases on error
Merge pull request #1524 from WalterBright/22

moving toward pull #1179