Only use gmpy if it is installed.

If the library is not installed, the built-in (and slower) modular
exponentiation is used.
Add get_public_options method to BaseTransport

If the transport server wishes to prevent some server
transport options from being added to the BridgeDB then
the transport may override this method and return a
transport_options dict with the keys to be distributed.
Clean up code to filter server transport options
Add code examples to get_public_options doc str

Further document BaseTransport's get_public_options
using a simple example torrc and code sample.
Trivial edits and ChangeLog entry for #10243.
Another trivial ChangeLog edit.
fix #10342: make circuit an attribute of transport, rather than passing it in as method params
- also rm redundant "pass" statements, python doesn't need it if you have a docstring
rename handshake to circuitConnected, since it is just a callback and you don't *need* to do any sort of handshake
Fix bug when calling the __init__ of the base transport.
Trivial doc tweaks and ChangeLog entries for #10342.
Remove the PITS code.

The code was not functioning properly and I don't even remember how it
worked anymore.

I will leave the spec file around in case a poor soul encounters it
and decides to build it properly.
Add some more flags to TransportConfig.

Specifically a flag to tell us whether we are in external/managed
mode, and a flag to tell us whether we are client or server. These
will be useful so that transports can configure themselves during
setup().
Don't pass TransportConfig to the transport __init__().

Passing it to setup() is enough. Transports that need it on __init__()
can keep it on their state.
Import the ScrambleSuit transport protocol.

ScrambleSuit implements a superset of the obfs3 protocol.  Its original
repository is available here:
<https://gitweb.torproject.org/user/phw/scramblesuit.git>
The project web site is available here:
<http://www.cs.kau.se/philwint/scramblesuit/>
Add ScrambleSuit's ChangeLog and specification.
Add "pyyaml" because it is used by ScrambleSuit.
Add an integration test for ScrambleSuit.
Update ChangeLog with ScrambleSuit.
Do the release ritual for obfsproxy-0.2.5.
Remove gmpy from the requirements of setup.py.