Move palette option getting/setting to mitmproxy.

Unbreaks mitmdump.
Make server version configurable.
Correct handing of IDNA encoding of internationalized domain names.

- Use IDNA encoding for hostnames gleaned by upstream-cert sniffing
- Use IDNA decoding for URL display in mitmproxy and mitmdump.
Fix Python coredump (!!) on SNI IDNA decoding.
Make upstream-cert the default. There's now a --no-upstream-cert option to turn it off.
Firm up handling of Unicode data

- Modify GridEditor to know about the destination encoding of data
- Ensure that get_url always returns ASCII
Fix error when serializing reverted SSL flows.
Fix error when viewing extended details of SSL flow.
Amalgamte saving "this flow" and "all flows" into a single keyboard shortcut.
mitmproxy: "W" shortcut key streams flows to file as responses arrive.
Protect against exceptions thrown by third-party view libraries.
Add a domain match filter (~d regex)
Fix minor error in filter help.
Handle new netlib.tcp.NetLibDisconnect exception.
Remove ODict tests. ODict is now in netlib.
Add streaming to FlowMaster
Use FlowMaster streaming for "W" in mitmproxy.
Use FlowMaster stream from mitmdump.
Make mitmproxy "W" over-write, not append.

The -w options in mitmdump and mitproxy should do the same thing. Append can
have unexpected consequences if the existing file is not a mitmdump.
Refator server tests to use flow.FlowMaster and flow.State