Avoid dynamically-sized stack allocation

Otherwise, long field names have the potential to cause stack overflow and perhaps slow down the MRI GC.  This reduces one extraneous data copy while we're at it, too.

Using the `checkstack.pl` script in the Linux kernel reveals no other dynamically sized stack allcations after this change.

`usage: objdump -d mysql2.so | ~/linux/scripts/checkstack.pl x86_64`

Just got this patch from Eric Wong, opening a pull for visibility across the maintainers. Patch looks good, though I feel sheepish for not noticing and fixing this before :sheep: