io.c: common function to free IO buffers

This also allows easier tracking of freed memory for systems
without malloc_usable_size, and also makes future changes
to freeing buffer memory easier-to-implement.

* io.c (free_io_buffer): new function for a common pattern
  (clear_readconv): use free_io_buffer
  (rb_io_fptr_finalize): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e