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 ?:
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