[Refactoring] Remove unused ethis parameter from Expression::checkPurity
fix Issue 10981 - Contracts in pure class methods are useless
fix Issue 6720 - ICE(cod1.c) casting return of void function to bool
fix Issue 7156 - ICE(go.c): with 199 or 200 repeated integer increments, only with -O
Merge pull request #2632 from WalterBright/fix6720

fix Issue 6720 - ICE(cod1.c) casting return of void function to bool
Merge pull request #2634 from WalterBright/fix7156

fix Issue 7156 - ICE(go.c): with 199 or 200 repeated integer increments,...
fix Issue 11187 - A small transitive const bug on struct copying
Merge pull request #2639 from 9rnsr/fix11187

Issue 11187 - A small transitive const bug on struct copying
Merge pull request #2615 from 9rnsr/fix10981

Issue 10981 - Contracts in pure class methods are useless