[WIP] 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.