[enh] Issue 12931 - Make const, immutable, inout, and shared illegal as function attributes on the left-hand side of a function

https://issues.dlang.org/show_bug.cgi?id=12931

A try to detect misleading prefix attributes.
Mmh, `t->ty == Tfunction` probably doesn't cover templated functions like `const int f0()()` right?