_sign_string private_key_file can now be file-like

Distribution._sign_string is now a little bit more flexible, allowing
the private_key_file to be a file-like object (or really anything with a
.read() method).
Merge remote-tracking branch 'seandst/sign_with_file_like_pk' into develop