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.
We can do that here, but OpenSSL is okay with trailing bytes as well so unless we're going to parse every single signature with pyasn1 before passing it to OpenSSL we can't stop it in the backend.