Fix for 12837: Duration's get and individual unit getters are bug-prone.

Experience has shown that most people (at least some of who don't read
the documentation) seem to expect that get and the indivdual getters
return what total returns, causing bugs. So, this commit deprecates
Duration.get and all of the individual unit getters (including
Duration.fracSec).

split has been added in their stead. It takes a list of time unit
strings and splits the Duration into those units either assigning them
to the provided pointers to integers or by returning a struct with the
values for the units as its members.

It's likely that most code that will have to change because of these
changes is broken anyway, so this will catch bugs.
Add attributes to core.time.abs.
Changed code coverage so that all lines line up in the lst file.
make TickDuration.currSystemTick nothrow

- The used functions only fail on invalid input,
  so any error is an implementation issue and assert
  should be used instead of throwing an exception.
Merge pull request #836 from jmdavis/abs

Add attributes to core.time.abs.
Merge pull request #834 from MartinNowak/currSystemTick_nothrow

make TickDuration.currSystemTick nothrow
Merge pull request #830 from economicmodeling/issue_4153

Issue 4153 Changed code coverage so that all lines line up in the lst file.
Add missing constructor to core.time.TimeException.
Merge pull request #825 from jmdavis/time

Fix for 12837: Duration's get and individual unit getters are bug-prone.
Adjust deprecation message on Duration.weeks.

Apparently, some folks found it confusing, because it just so happens
that get!"weeks"() was identical to total!"weeks", since weeks were the
largest units. However, it does seem to highlight how folks have
misunderstood what the individual getters do (which is why they're being
deprecated).
Merge pull request #837 from jmdavis/message

Adjust deprecation message on Duration.weeks.
Merge pull request #835 from jmdavis/exception

Add missing constructor to core.time.TimeException.
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