Huge cleanup of content viewers.
Further simplifcation and testing of contentviews.
Send tracebacks from content viewers to event log.

Also, 100% test coverage for content viewers.
Further content view cleaups.
Use the new ODict get_first convenience function in a bunch of places.
Add SetHeaders, analogous to ReplaceHooks, with a graphical editor in mitmproxy (H shortcut).

SetHeaders defines headers that are set on flows, based on a matching pattern.
Existing headers are over-ridden.
Command-line options for header setting.
Little bit of love for the unit tests.
Getter and setter for path component on Requests.
Add a graphical editor for path components (e -> p shortcut from request view screen).
Add an "r" shortcut in grid editors to read value from file.
Use Python-style escaped strings in GridEditor.
Do away with explicit encodings, and display an error message for invalid values.
Add a "R" shortcut to GridEditor, letting the user read unescaped data from file.
Add a snippet to GridEditor help text explaining that we're using escaped strings.
Add application/javascript to ~a filter asset matcher.
Display "No Content" instead of a parse error when there is no content.
Add a shortcut to header editor to add standard User-Agent strings.
Make grid editor file reading more robust.
Fix a crash when re-editing a path prompt after an error.