Mark associative array `byKey` and `byValue` `pure nothrow`.

This fixes part of Issue 5555.

Issue URL: https://issues.dlang.org/show_bug.cgi?id=5555
* add GC benchmark suite
replace runbench.d with a version derived from d_do_test.d
add possibility to output GC messages to a file gcx.log instead of stdout
Merge pull request #838 from denis-sh/more-fixes-for-Issue-5555-byKey-and-byValue

Mark associative array `byKey` and `byValue` `pure nothrow`.
missing executeArgs for benchmarks

- avoid implicit array to boolean conversion (Issue 4733)
terminate runbench on signal

- fixes CTRL+C to abort the test runner
Merge pull request #2 from MartinNowak/stop_on_signal

terminate runbench on signal
Merge pull request #1 from MartinNowak/fix_gc_bench

missing executeArgs for benchmarks
Merge pull request #818 from rainers/gc_bench

add GC benchmark suite
fix DISABLE, remove moving GC_OPT -> D_GC
Merge pull request #841 from rainers/gc_bench2

runbench cleanup
Merge pull request #820 from rainers/gcx.log

add possibility to output GC messages to a file gcx.log
Make side effect on strongly pure function call
Merge pull request #842 from 9rnsr/fix12909

Make side effect on strongly pure function call
fix Issue 12710 - Bad @nogc requirement for Windows callbacks
Merge pull request #843 from 9rnsr/fix12710

Issue 12710 - Bad @nogc requirement for Windows callbacks