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

This had not implemented as a part of issue 7019.
refactor alignment calculation
fix byte opcode bug
more alignment; couple bug fixes
more on alignment
Merge pull request #1458 from WalterBright/b2

More alignment refactoring
Merge pull request #1448 from 9rnsr/fix7152

Issue 7152 - Can't assign null to default argument
Fixes Issue 4540 - Better diagnostic for wrong switch type.