Bugfix #1119552: PKCS#1v1.5 has to accept signatures without NULL parameters

The digest AlgorithmIdentifier has optional (NULL) parameters; the
verification function should not reject a signature if they are omitted.

With this fix, either case is acceptable (parameters present with value NULL
or not present).

As an exception, signatures based on old MD2/MD5 must always have NULL
parameters.

See Appendix B.1 of RFC 3447 and Section 2.1 of RFC 4055.

Closes: https://bugs.launchpad.net/pycrypto/+bug/1119552
[dlitz: Rebased and updated to use refactored asn1 API, text OIDs, & to fix Python 2.1.]
Added unit tests for bugfix #1119552
FIX #1177614. Clarify that RSA OAEP only works on byte strings

Closes: https://bugs.launchpad.net/pycrypto/+bug/1177614
FIX #1093446. Description of allow_wraparound was incorrect.

In addition to fixing the problem, the patch also
improves readibility of other sentences a little.

Closes: https://bugs.launchpad.net/pycrypto/+bug/1093446
FIX #1096857. Update reference to FIPS 180-4.

Closes: https://bugs.launchpad.net/pycrypto/+bug/1096857
A set of small changes to documentation.

* Add table to Crypto.Util package docs
* Clarify that PKCS#1v1.5 encryption only works on byte strings
* Clarify that padding is ignored by Cipher classes
* Clarify that block encrypt() and decrypt() do not respectively
  add and remove any padding.
* Clarify what the 'overflow' parameter does (that is, nothing)
  to the Crypto.Util.Counter class.
FIX #1191411: RSA export example

Closes: https://bugs.launchpad.net/pycrypto/+bug/1191411