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
fix Issue 9289 - [Regression 2.061] Had been deprecated language features are enabled again in default

Change the meaning of `-de`/`-dw` switches. Now, the specifying of them only affects to the `deprecated` attribute behavior.

1. Specifying `-de` switch means:
   Using `deprecated` symbol raises an error.
2. Specifying `-dw` switch means:
   Using `deprecated` symbol reports an information message.

And for all of deprecated language features:
- If `-d` switch is specified, they are enabled. Otherwise raise errors. `-de` and `-dw` does not affect to there.
Fix test cases (1)

All tests which requires deprecated language features (e.g. typedef) use `REQUIRED_ATGS: -d`.
FIx test cases (2)

Issue 7754 has no relation with any deprecated feature.
Fix test cases (3a)

All fail-to-compile tests by deprecated language features use `PERMUTE_ARGS: -de -dw`.
Fix test cases (3b)

HTML compilation feature has been removed.
So the compilation never succeed with `PERMUTE_ARGS: -de -dw -d`.
Fix test cases 4

Fail-to-compile tests by using `deprecated` symbols use `REQUIRED_ARGS: -de`
Hiding base class functions is a deprecated language feature.

It should not be affected by `-dw`/`-de` switches.
So use ::deprecation function instead of Dsymbol::deprecation.
Remove redundant `use of typedef is deprecated` error
Fix switch descriptions