Support decoding RFC 6979 signatures to (r, s)

This PR will add `pyasn1` as a hard dependency (and removes it from test deps). It adds the ability to encode `(r, s)` to RFC 6979 signatures as well as decoding back to `(r, s)`

Fixes #1285.
The second parameter is "trailing dat" -- I think we want to reject signatures that include extra crap after them? I guess we should see how OpenSSL and CC handle those.