Add function for fast modular exponentiation.

The function uses GMPY's bignum arithmetic which speeds up the calculation.
Use 'powMod()' instead of the built-in 'pow()'.

'powMod()' is faster than 'pow()' and will both make UniformDH computationally
less expensive and create less of a timing signature.
Add some trivialities related to the #10031 patch.
Teach obfsproxy to manage bananaphone
TransportBase setup() needs one more arg
Call transport setup at obfsproxy start

Pluggable Transports can use the setup class method
to receive Pluggable Transport config and save data to class attributes.
Obfs2 uses setup classmethod to save shared secret
Merge branch 'david-transport-setup' into david-bananaphone-managed
Fix previous merge
Fix BananaphoneTransport setup method