Fixing Issue #313 - at doesn't handle NaN gracefully.

Added more checks to the seconds argument for at(). Now makes sure;
 * the number is positive or zero,
 * the number isn't NaN,
 * the number is finite.
Merge pull request #326 from mithro/handle-bad-arguments

Fixing Issue #313 - at doesn't handle NaN gracefully.