Pyopenssl refactor

~~*Do not merge (yet)*~~

See #370.
Introduces the `suppress_ragged_eofs` parameter for stdlib compat.

I'd like to have the testsuite also cover pyopenssl before merging this.
Maybe @alekstorm would provide a pull request with only his testsuite changes, so we could do this.