Round the timestamp to three decimal places.

I encountered a bug where the timestamp of a message as received on one
system was 1378482616.918657.  The timestamp of the same message
received on another system was 1378482616.9186571 (the difference is the
additional '1' in the least-significant digit).

This was causing message validation to fail, since the message was
slightly different, it produced a different signature.  By removing the
least significant digits and only keeping up to a thousandth of a second
precision, this will hopefully be resolved.