Switched everything to use cryptography instead of pyCrypto

Motivation:

* Adds PyPy support
* Performance improvement
* OpenSSL and friends are better audited than PyCrypto
* Easier windows install flow (Cryptography provides statically linked wheels
  on Windows)

This PR is basically complete on the code side, of course it can always use
more review :-)

Tests all pass locally (tested with PyPy!)

Still needs some docs work, and to figure out how to do this with the version
numbers so people's stuff doesn't suddenly get broken.
I'll wait until @bitprophet weighs in before doing that; happy to make the
change though.

On Fri, Oct 17, 2014 at 7:00 AM, Olle Lundberg <notifications@github.com>
wrote:

> In paramiko/rsakey.py:
>
> > @@ -137,30 +161,24 @@ def generate(bits, progress_func=None):
> >          generate a new host key or authentication key.
> >
> >          :param int bits: number of bits the generated key should be.
> > -        :param function progress_func:
> > -            an optional function to call at key points in key generation (used
> > -            by ``pyCrypto.PublicKey``).
> > +        :param function progress_func: Unused
>
> Same.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/paramiko/paramiko/pull/394/files#r19018903>.
>



-- 
"I disapprove of what you say, but I will defend to the death your right to
say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero
GPG Key fingerprint: 125F 5C67 DFE9 4084