Implementation of RFC 6979: Deterministic ECDSA

Hi Brian,

I'm using python-ecdsa for a year in my bitcoin related projects, but only today I realized that the autor is also an active developer of Tahoe-LAFS! I came to Bitcoin thanks to Zooko's mentioning of Bitcoin in Tahoe-LAFS mailing list years ago! It's a small world :-).

I'm developing some tools using python-ecdsa, but writing unit tests for non-deterministic code is a pain! There were also many security issues with ECDSA implementations using weak 'k', so  I was very happy when I found RFC 6979 proposing deterministic behaviour into ECDSA signatures. More details about that RFC can be found at http://tools.ietf.org/html/rfc6979 .

There you have pure python implementation of that algorithm, including test vectors and quite straightforward integration into current python-ecdsa codebase, splitted into two commits. I think first commit implementing the algorithm itself is no-brainer. Second commit integrates the algorithm with SigningKey and although I think it's ellegant, I will be very happy to discuss any better integration with you, because I'm not so familiar with internal structure of the library.

Any comments are welcome,
Marek