BREAKING CHANGE: The digest needs to be string now.

This is needed so that we can properly take the left-most bits of it
as defined in Section 4.1.3 of SEC1 2.0.  If digest is an integer, we
don't know how many "0" bits there are supposed to be on the end.

Prior to this change, the "leftmost bits" operation did not do what
it was supposed to at all, probably resulting in faulty signatures
whenever the digest had more bits than the curve.

Bumped version number to 2.0.0 because that is what the next release
will have to be.