Ensure contiguous messages for overlaps when fetching more messages.
Ensure contiguous messages for overlaps when fetching more messages.

In order to explicitly determine that this client knows about all the
server's messages within a specific range, a response must overlap
with known messages, otherwise a gap must be inserted.  However, an
overlap is only achieved by requesting from a second-to-last
message (so that the last message will appear in the requested
response as well) if that second-to-last message is contiguous with
the last message.  It will not overlap if the second-to-last message
is separated from the last message by a gap.  This change ensures that
the overlap is requested from the second-to-last of two *contiguous*
messages.

matterhorn-chat/matterhorn