Fix issue 10858 CTFE wrong array of pointers

Pointer comparison should be based on rvalues, not lvalues.
That bug was also hiding three latent wrong-code bugs.
Merge pull request #1325 from 9rnsr/fix9073

Issue 9073 - In manifest constant initializer, && and || should evaluate their operands lazily.
Merge pull request #2527 from donc/badpointer10858ctfe

10858 CTFE wrong-code for array of pointers
revert pull 1325
Merge pull request #2547 from WalterBright/revert-pull-1325

revert pull 1325
Partial fix for Issue 10666 - Appender does not work with a RefCounted type

Essentially this is neigher dmd nor phobos regression, but recent Appender change in 2.064a should not raise "cannot build closure" error.