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.
Merge pull request #825 from jmdavis/time

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