[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 12902 - [ICE] Assertion failure '!ae->lengthVar' in 'expression.c' when using `opDollar`
fix Issue 12904 - Wrong-code for some slice to slice assignments when using `opDollar`