Fix Issue 13383 - wrong code with -O with ints, longs and bitwise operations

Converting '(1 << a) & b' to 'b btst a' is only valid when the constant fits in a register.
Clean up some prototypes
Issue 2350 - Contracts with a naked body are indecent

Error on a naked function with contracts instead of generating wrong code
fix Issue 13323 - UDA applied to import statement causes compilation to fail without error
fix Issue 11042 - Inconsistent "static condition" behaviors

Divide `SCOPEcondition` and `SCOPEconstraint` properly.
fix Issue 13413 - dmd does not follow symlink when searching for dmd.conf

- first search argv0 in PATH then resolve symbolic links
Merge pull request #3937 from yebblies/issue2350

Issue 2350 - Contracts with a naked body are indecent
Merge pull request #3934 from yebblies/issue13383

Issue 13383 - wrong code with -O with ints, longs and bitwise operations
Merge pull request #3941 from MartinNowak/fix13413

fix Issue 13413 - dmd does not follow symlink when searching for dmd.conf
Merge pull request #3936 from yebblies/cleanup2

[cleanup] Clean up some prototypes and dead code
fix Issue 13415 - '-inline' causes wrong enclosing scope pointer for nested function called from templated struct
Merge pull request #3910 from 9rnsr/fix13323

Issue 13323 - UDA applied to import statement causes compilation to fail without error
Merge pull request #3942 from 9rnsr/fix13415

[REG2.066] Issue 13415 - '-inline' causes wrong enclosing scope pointer for nested function called from templated struct
Merge pull request #2558 from 9rnsr/fix11042

Issue 11042 - Inconsistent "static condition" behaviors
[Refactoring] fix indent in IsExp::semantic()
fix Issue 13350 - is(typeof(fun)) causes link error when template fun calls undefined reference

Evaluate the type in InExp, then unspeculative declared symbols.