route namespace

design notes for #850

I estimate completing the implementation will take half a day.


-----

UPDATE (from Adam): This took over a day to change it from design to implementation, including hours of pairing, but the estimate was for Jean-Paul alone and I'm slower. There are also a few TODOs with questions about how to continue.

Fixes #850 

Possibly not possible to set up this case.  Maybe we should have a test demonstrating it fails in a coherent way.  iptables (or Linux's TCP/IP stack in general) doesn't have the kind of namespacing we're pretending here...  Two proxies identical except for their namespace will conflict somehow, either triggering an error from iptables or (more likely) by one breaking the other.