server.py: don't send partial hostwatch lists.
server.py: don't send partial hostwatch lists.

If hostwatch has a lot of stuff to say all at once, it would come in more
than one recv() packet, and server.py would send each packet individually as
a CMD_HOST_LIST message.  Unfortunately, client.py (rightly) expects each
CMD_HOST_LIST message to be complete, ie. a correct sequence of rows.

So now server.py makes sure of this.  If there's a leftover bit (ie. an
unterminated line), it saves it for later.

Bug reported by user "Duke" on the mailing list.

v2e4lisp/sshuttle,mheiges/sshuttle,dxq-git/sshuttle,dushmis/sshuttle,ru-faraon/sshuttle,cgundogan/sshuttle,mheiges/sshuttle,vStone/sshuttle,apenwarr/sshuttle,mheiges/sshuttle,michaelcontento/sshuttle,mralexgray/sshuttle,mralexgray/sshuttle,fastly/sshuttle,michaelcontento/sshuttle,fastly/sshuttle,xtaran/sshuttle,brianmay/sshuttle,brianmay/sshuttle,luthfihm/sshuttle,xtaran/sshuttle,GrimDerp/sshuttle,zabracks/sshuttle,michaelcontento/sshuttle,shaunstanislaus/sshuttle,v2e4lisp/sshuttle,dushmis/sshuttle,ru-faraon/sshuttle,dxq-git/sshuttle,sekka1/sshuttle,GrimDerp/sshuttle,sshuttle/sshuttle,brianmay/sshuttle,luthfihm/sshuttle,luthfihm/sshuttle,apenwarr/sshuttle,ru-faraon/sshuttle,cgundogan/sshuttle,v2e4lisp/sshuttle,vStone/sshuttle,sshuttle/sshuttle,fastly/sshuttle,guiquanz/sshuttle,sekka1/sshuttle,CasparLi/sshuttle,bitmonk/sshuttle,guiquanz/sshuttle,xtaran/sshuttle,loadlj/sshuttle,zabracks/sshuttle,dxq-git/sshuttle,zabracks/sshuttle,CasparLi/sshuttle,bitmonk/sshuttle,GrimDerp/sshuttle,sekka1/sshuttle,loadlj/sshuttle,mralexgray/sshuttle,cgundogan/sshuttle,bitmonk/sshuttle,guiquanz/sshuttle,shaunstanislaus/sshuttle,dushmis/sshuttle,vStone/sshuttle,loadlj/sshuttle,brianmay/sshuttle,CasparLi/sshuttle,shaunstanislaus/sshuttle