Used strotod() for restoring floats on foreign hosts.

The formerly used atof() is deprecated and strtod() has the benefit
of setting errno to ERANGE in case of overflows.
Changed restoring integers to use strtoimax().

strtoimax() has the benefit of setting errno to ERANGE when the value
does not fit into intmax_t. If that is the case of the value does not
fit into p_int, we truncate and issue a warning.
Additionally fixed the final value of <pt> which was not set right when
restoring integer numbers.
(fixes #791)
Added tests for issue #791.

One test tries to restore a too large integer on ILP32 systems
and checks if the truncation warning is raised.
The second test tries to restore a too large integer (on all
supported platforms) and checks for the truncation warning.
BTW: an array of the last runtime warnings was made available
in base.inc. Might be used in the future for other stuff as
well.