Private RSA keys can be exported in PKCS#8 mode encrypted by a pass phrase.
More flexible arrangement for PKCS8 unit tests

Right now, the PKCS8 module only supports PBKDF2/SHA/TDES as encryption algorithm,
but it should be easy to add new ones.

The test module is modified so that it will be sufficient
to add new test data vectors to one list only.
Added PKCS8 module to Crypto.PublicKey
Added pbeWithMD5AndDES-CBC scheme (PKCS#5 v1.5)
Added pbeWithSHA1AndRC2-CBC scheme (PKCS#5 v1.5)
Detect when PKCS#5 OID is not recognized.
Added pbeWithMD5AndRC2-CBC scheme (PKCS#5 v1.5)
Added pbeWithSHA1AndDES-CBC scheme (PKCS#5 v1.5)
Added PBKDF2WithHMAC-SHA1AndAES128-CBC scheme (PKCS#5 v2.1)
Added PBKDF2WithHMAC-SHA1AndAES192-CBC scheme (PKCS#5 v2.1)
Added PBKDF2WithHMAC-SHA1AndAES256-CBC scheme (PKCS#5 v2.1)
Corrections to PKCS#8 module documentation
Clarify default values for pkcs/pkcs8enc parameters
Added new helper function tostr() to make code work with old Python 2.1.
Update of the RSA export/import test cases.

* Removed test cases that try to precisely recreate an exported and
  encrypted key. That is best done in the PEM/PKCS8 unit test cases.
* When exporting to PEM, added checks to verify presence of the proper
  string in the output.
* Added check to verify that when a passphrase is given, and encoding is
  DER and PKCS#8, an exception is raised (the user *may* think
  encryption was applied correctly).
Added link to OpenSSL source code for a list of PEM markers