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.
Revert "fix test runner"

This reverts commit 8c42dd1f6735eddea1d7441f31bb5839441e794d.
Revert "Support named unittests"

This reverts commit 9bc336d703c4dcfbc087eeb901e447dbba2f72bb.
Revert "Use new unittest format in default runner"

This reverts commit 64aa857d3e3c771b935064ad6d6575c4c40cfe42.
Revert "Add enhanced unittest runtime information"

This reverts commit 9279278770dd3523d759585bea5283cd69be5cf7.
Typo: and reserved > are reserved
Merge pull request #833 from GeorgeSapkin/patch-1

Typo: and reserved > are reserved
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