Soft dependency on PyCrypto
Improve tests, fixing issue #40
This should make no difference as long as the tests pass, but produce better messages if they fail.
This is cleaner, and makes the tests not depend on dictionary order (which may change, and is different in pypy).
Use python-rsa instead of pycrypto
Switched because pycrypto has binary bits which require compilation, making usage of oauthlib on windows more painful than necessary.