use an ordered dict in transports.py for more control over output
initial commit of ezpt in an async-Twisted way.
rename obf/unobf to forward/reverse for symmetry, and launch processes / set stream in circuitConnected
enable and document the stdbuf workaround for common utilities
when the circuit is destroyed, signal child processes to terminate by closing their stdin
factor out args/stdbuf stuff into a separate class, EzptProcessSpec, for easier switching
- replace rot13 with tr implementation, since not everyone has /usr/bin/rot13
- add a simple "id" transport that does no transformation
store child errors and lazily raise them later in the network execution context
- more detailed debug logging and documentation
verify that the children actually die and clean up its data structures when it does
add some more documentation
add a way for the user to configure ezpt (for one transport only) via env vars
Include the ezpt transports in our integration tests.