Optimize MessagePack_Buffer_set_options
Optimize MessagePack_Buffer_set_options

`rb_respond_to` isn't very fast, so in the common case when
`io` is `nil`, we can take a shortcut.

On my machine while profiling `Factory#unpacker` in a loop,
these `respond_to?` calls were accounting for 20% of `Unpacker_initialize`.

After the change it's mostly gone.

msgpack/msgpack-ruby,msgpack/msgpack-ruby,msgpack/msgpack-ruby