Don't send more than one ACK to the last DATA packet when writing.

The write session needs to remain open for a short while so that ACKs
can be returned if a duplicate DATA packet is received.  However, when
the last packet is received the code will always send additional ACKs
because there is no next DATA packet to cancel the ScheduledCall the
handles ACK retransmission.  So, in the special case of the last DATA
packet, send an ACK once, but never again. The timeout needs to remain
to keep the session active in case the ACK packet gets lost and the
remote system re-sends the last DATA packet.