force integer reals to exact integers before encoding

scm_to_int() fails if arg is not an exact integer
decode_timestamp: log invalid timestamps

failed attempts to decode
second added due to rounding, pass it up

If a second is added due to usec rounding, pass that second
up the entire stack; i.e. min, hour, day, month, year