Fix: Issue 10520 - [profile+nothrow] Building with profiler results in "is not nothrow" error on some contracts

When Statement#blockExit() checks if the statements may throw or not, it
can also emit compile error.
We turn the second argument of it, mustNotThrow, to false
so that the error is suppressed.
mark ModuleInfo as read-only data
refactor extern(Windows) on 64 bit Windows to make clear it has C linkage
Merge pull request #3661 from WalterBright/windows-link

extern(Windows) on 64 bit Windows has C linkage
DWARF: Emit address of __gshared variable correctly on I64
fix Issue 12953 - Wrong alignment number in error messages
Merge pull request #3682 from 9rnsr/fix12953

Issue 12953 - Wrong alignment number in error messages
fix Issue 12956 - [ICE] Assertion in expression.c:432
Merge pull request #3684 from 9rnsr/fix12956

[REG2.065] Issue 12956 - [ICE] Assertion in expression.c:432
Merge pull request #3681 from ibuclaw/dwopaddr

DWARF: Emit address of __gshared variable correctly on I64
Fix issue 12962 - use isainfo on Solaris to determine model
Fix issue 12965 - DMD sets ELFOSABI to ELFOSABI_LINUX on all systems
Fixed comment alignment; added #error for undefined ELF ABIs
Merge pull request #3686 from jasonbking/issue_12962

Fix issue 12962 - use isainfo on Solaris to determine model
fix Issue 12970 - Enclosing @system attribute is precedence than postfix @safe
Merge pull request #3687 from jasonbking/osabi

Fix issue 12965 - DMD sets ELFOSABI to ELFOSABI_LINUX on all systems
Fix Linux/64 compile error.
Merge pull request #3691 from quickfur/missing_endif

Fix Linux/64 compile error introduced by pull #1296
Fix issue 12968 - Incorrect codgen for xchg with R8
Merge pull request #3690 from Orvid/issue12968

Fix issue 12968 - incorrect codegen