muc_restore_timeout set to -1 causes a redownload of messages already stored locally
Bug description
muc_restore_timeout set to -1 causes that "since" attribute is not set even if there is locally stored history of recent conversation.
In connection.py there is a logic using self.last_history_time[room_jid] (lines 2392+) which prevent a redownload of already kept messages (using since attribute). Unfortunately it is not used when muc_restore_timeout is set to -1 ("if timeout >= 0:" in line 2391 expression is always false).
Add think -1 shouldn't bypass that logic - it can a lot of messages to download for some long lasting channels.
What is more it seems that the last message is duplicated in history (for every download on join), but I have to track that duplication further.