SSL.File: Revamped handling of errno.

Splits cb_errno into {read,write,close}_errno, which in turn are used to
update local_errno depending on which of {read,write,close,renegotiate}()
et al was called.

Removes the now obsolete FIX_ERRNOS() macro.

Also removes a direct call of close_callback() from ssl_close_callback().
String: Added filter_non_unicode().

Make string_filter_non_unicode() available as String.filter_non_unicode().

Also fixes related typo in CHANGES.
Now compiles again.

Use TYPEOF to get type

(cherry picked from commit 9aac72417207bd7fce31a99530e18843150a7565)