[Refactoring] Separate test case for issue 3882 and relates
[Refactoring] TypeFunction::purityLevel
fix Issue 12909 - [AA] Function is incorrectly inferred as strongly pure for associative array with key of non-mutable array or pointer as argument
fix Issue 12910 - [AA] `rehash` is incorrectly inferred as strongly pure for some associative arrays
Merge pull request #3667 from 9rnsr/fix12909

Issue 12909 & 12910 - fix purity level calculation for AA parameter
fix Issue 12901 - `in`/`out` contracts on struct constructor must require function body
[Refactoring] Stop storing incorrect fbody