Switch std.algorithm/.range to lambda syntax (try 2)

Restores "Switch std.algorithm/.range to lambda syntax" ([pull request 707](https://github.com/D-Programming-Language/phobos/pull/707)) which was prematurely applied and then reverted to fix the build.

This should **not** be applied until the autotester passes ![Test Results](https://dtestbadge.appspot.com)

I am mainly posting this even though it is expected to not pass the autotester so the dmd guys can perhaps investigate how it is breaking dmd unittests.

This reverts commit 4c4c35c9224cb0c4be5d14fdfa462d08bec871eb which was a revert of 32eb03a983a2375ddee955e61b962e756462566f.