fix Issue 7152 - Can't assign null to default argument

This had not implemented as a part of issue 7019.
Merge pull request #1448 from 9rnsr/fix7152

Issue 7152 - Can't assign null to default argument
Fixes Issue 9291 - ICE on throwing undefined identifier.
Fixes Issue 4540 - Better diagnostic for wrong switch type.
finish up alignment refactoring and fixing
Merge pull request #1417 from AndrejMitrovic/Fix4540

Issue 4540 - Better diagnostic for wrong switch type.
Merge pull request #1461 from AndrejMitrovic/Fix9291

Issue 9291 - ICE on throwing undefined identifier
Merge pull request #1463 from WalterBright/b3

finish up alignment refactoring and fixing