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.
Well, Paramiko is presently packaged on a number of distros (who also usually package PyCrypto) and I'd expect this to continue, even if it means maintainers need to start packaging Cryptography too. Either way I think the note is useful for some newbies and doesn't harm anything by existing.