firewall.py: catch SIGINT and SIGTERM too.
firewall.py: catch SIGINT and SIGTERM too.

There were still a few conditions under some OSes that would cause
firewall.py to terminate without cleaning up the firewall settings.  'pkill
sshuttle' was one of them.  Ignore a couple more signals to further ensure a
correct cleanup.

(This only affects sshuttle --firewall, which is a subprocess of the main
sshuttle process.  The firewall is supposed to exit automatically whenever
the client exits, and so far that part seems to work reliably.)

mralexgray/sshuttle,mheiges/sshuttle,mheiges/sshuttle,sekka1/sshuttle,CasparLi/sshuttle,bitmonk/sshuttle,guiquanz/sshuttle,ru-faraon/sshuttle,sekka1/sshuttle,guiquanz/sshuttle,vStone/sshuttle,v2e4lisp/sshuttle,bitmonk/sshuttle,cgundogan/sshuttle,luthfihm/sshuttle,cgundogan/sshuttle,CasparLi/sshuttle,cgundogan/sshuttle,mheiges/sshuttle,v2e4lisp/sshuttle,fastly/sshuttle,ru-faraon/sshuttle,vStone/sshuttle,luthfihm/sshuttle,loadlj/sshuttle,mralexgray/sshuttle,CasparLi/sshuttle,guiquanz/sshuttle,fastly/sshuttle,vStone/sshuttle,v2e4lisp/sshuttle,loadlj/sshuttle,mralexgray/sshuttle,luthfihm/sshuttle,ru-faraon/sshuttle,bitmonk/sshuttle,loadlj/sshuttle,fastly/sshuttle,sekka1/sshuttle