obfsproxy: groundwork for new protocols
Please review and pull from https://github.com/zackw/obfsproxy/compare/master...more-protocols (you will probably find it easier to read individual changes in the series). The branch is called "more-protocols", but I haven't started writing new protocols yet; highlights of what you get are:
- cleaner protocol-specific API
- better way to define protocol vtables
- imported the Tor container library
- consistent use of "infallible" memory allocation
- many of the unit tests have been improved
- fixed some nasty memory leaks in obfs2 and minor ones elsewhere
I plan to keep hacking on this branch; the last commit I'm asking for review of at this time is https://github.com/zackw/obfsproxy/commit/2dd47ce6624d374932f7c212b1f719ad09143c5e (but nothing more is likely to show up till this evening).