fix Issue 12297 - std.typecons.Proxy does not properly forward IFTI calls
findRoot fix

#1894 #1893 rewopen
Update numeric.d
Update numeric.d

clear comment
Recommend using portable std.ascii.newline for line terminator

Also document 'lines' constructor.
Note that readln() cannot support string terminators
Define isNaN deprecation for integers

Also cleans isNaN unit tests
Add more integer isXXX deprecations

Also implementation is changed to forward to floating point signature
instead of a stub to exactly match old behaviour.
Add missing imports
Replace use of FracSec in SysTime's API with Duration.

FracSec is overly verbose and based on the recent discussions with
regards to Duration.get and Duration.split, it should be given the boot.
The only non-deprecated place which uses it in Phobos is SysTime, so
this deprecates the functions that use it, and replaces it with ones
that expect a Duration of less than one second.

This means replacing a SysTime constructor and SysTime's fracSec
property. fracSecs is introduced to replace fracSec. It uses a Duration
or takes a template argument for the units and then uses an int
(essentially then creating an overload which is a shortcut for calling
Duration.total or creating a Duration, depending on whether its the
getter or the setter).
Replace fracSecToISOString and fracSecFromISOString.
Replace uses of FracSec.from!"msecs" with core.time.msecs.
Replace uses of FracSec.from!"msecs" with core.time.msecs.
Replace uses of FracSec.from!"usecs" with core.time.usecs.
Replace uses of FracSec.from!"hnsecs" with core.time.hnsecs.
Replace uses of FracSec.from!"hnsecs" with core.time.hnsecs.
Replace uses of FracSec.from!"hnsecs" with core.time.hnsecs.
Remove last undeprecated uses of SysTime.fracSec.
Clean up uses of zero-length Durations.
Cleanup of a version-else block in std.datetime so that it has an else.