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.
Merge branch 'master' of git://git.torproject.org/pluggable-transports/obfsproxy into david-bananaphone

manually resolve these conflicts here:
	obfsproxy/managed/server.py
	obfsproxy/transports/base.py