bug: history: add exn handler and use milliseconds for timestamp

When blight receives two or more messages (from single contact) within a second it causes query-exec to throw exception, because new entry is added to DB with duplicate three fields which causes INDEX UNIQUE to error.

using milliseconds for timestamp should handle that.

tested on both amd64 and x32.