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.
Issue 13001 - Add VRP support for ternary operator ?:
fix Issue 12981 - Can't refer to 'outer' from mixin template
Merge pull request #3698 from lionello/bug13001

Issue 13001 - Add VRP support for ternary operator ?:
fix Issue 13003 - Lack of read-modify-write operation check on shared object field
Merge pull request #3554 from qchikara/FIX_profile_contract_nothrow

Fix: Issue 10520 - [profile+nothrow] Building with profiler results in "...
fix Issue 11471 - [profile+nothrow] `asm` statements rejected in `nothrow` functions if built with "-profile"

Workaround fix is introduced in e6c308938d02d1cbfc57c37c03d06bff0ec00c74, so just add a test case.
Merge pull request #3702 from 9rnsr/fix11471

[REG2.066a] Issue 11471 - [profile+nothrow] `asm` statements rejected in `nothrow` functions if built with "-profile"
Merge pull request #3701 from 9rnsr/fix13003

Issue 13003 - Lack of read-modify-write operation check on shared object field
Merge pull request #3700 from 9rnsr/fix12981

[REG2.008] Issue 12981 - Can't refer to 'outer' from mixin template
fix Issue 13008 - 'deprecated' is not allowed to refer another deprecated when it is a function declaration
Merge pull request #3704 from 9rnsr/fix13008

[REG2.066a] Issue 13008 - 'deprecated' is not allowed to refer another deprecated when it is a function declaration