refactor Config API slightly, tests passed
- add a unified Config.declareSupports() method for use in initialisation
  - remove most of the check* methods, instead do this directly in declareSupports()
  - move common logic from {client,server}.init() into declareSupports()
- add a unified envvar validation system using composable first-class functions
  - exceptions thrown during validation automatic trigger config.writeEnvError()
move allTransportsEnabled logic into parent Config class
allow Config to direct their output elsewhere; useful for tests
move envvar parsing out into a @classmethod, fromEnv()
refactor write and decision logic into a separate TransportPlugin class
- deprecate old API that created a new config for each method call
don't output error on unknown methods requested
fix typo and remove type-fudging
update documentation and examples to reflect the new API
move getEnv away from being an unnecessary classmethod
add default values to Config constructor so it's easier to instantiate in tests
declareSupports - make managedTransportVer like a tweakable setting that may be used in future, and remove the unnecessary return value
add tests for the new API
- have client.reportMethodSuccess take an entire protocol string rather than assuming socks
fix most pylint warnings
- rewrite some docs to use :returns: and :raises:
drop the distinction between "transports Tor wants" and "transports we support"
- idea imported from previous API but is unnecessary and just adds complexity
- instead, only expose the latter in the API
update doc and examples for method rename
add links to full module docs
add a method to output debug data
Do the release ritual for pyptlib-0.0.4.