Update tools/create-pythons.sh
SHA2: Don't export symbol 'add_length'

Exporting symbols can cause symbol conflicts with external libraries,
causing the dynamic linker to silently pick one of the implementations,
which can lead to subtle bugs if they're actually different functions.
asn1: make DerObject into a new-style class
pct-speedtest.py: Python 2.1-2.3 compatibility

They don't have os.urandom, so use Crypto.Random.get_random_bytes
pct-speedtest.py: Python 3 compatibility
pct-speedtest.py: Add tests for SHA224/SHA384/SHA512
pct-speedtest.py: Also test the standard hashlib modules, if possible

On my machine, hashlib is about 5x faster than PyCrypto for single-block
inputs. :(  (It's about the same for long inputs.)
pct-speedtest.py: Add some comments
pct-speedtest.py: Test HMAC modules
Fix leaks in _fastmath

Fix leaks in getRandomInteger and rsaKeyNew. If randfunc throws an exception
they both don't clean up properly.

Thanks to Andreas Stührk for helping me to debug these two leaks.
Fix LP#1061217: random.shuffle takes O(n^2) time

The previous implementation took O(n**2) time and O(n) auxiliary space.
We now use the Fisher-Yates algorithm, which takes O(n) time and O(1)
space.

Thanks to Sujay Jayakar and Andrew Cooke for pointing this out and
suggesting a solution.

Bug report: https://bugs.launchpad.net/pycrypto/+bug/1061217