fix Issue 9266 - Cannot define two Tuple objects.

If the semantics in template instance is already done (`inst != NULL`), `syntaxCopy` should copy members from original template declaration (== `tempdecl`).
fix Issue 7152 - Can't assign null to default argument

This had not implemented as a part of issue 7019.
refactor alignment calculation
Fix issue 8982 ICE(ctfeexpr.c) __parameters of an erroneous default parameter

Don't create a tuple with an error in it; instead, return an ErrorExp.
This is the same behaviour you get when creating a erroneous tuple by normal means.

(The test case is wrapped in a speculative template so that the module compiles even though
it contains an error).
Merge pull request #1447 from 9rnsr/fix9266

Issue 9266 - Cannot define two Tuple objects. (Regression in 2.061)
fix byte opcode bug
more alignment; couple bug fixes
Merge pull request #1453 from donc/ice8982ctfe__parameters

8982 ICE(ctfeexpr.c) __parameters of an erroneous default parameter
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 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