core: fix bufferlist metatable error

The previous method was not actually causing the garbage collector to
kick in for the bufferlist, or was corrupting something because on
lua_close() we saw segfaults in the GC code. I think it has something to
do with moving the values around in newbufferlist before setting the
metadata.

I reverted back to the method I had been using which is stable, and
doesn't try to take short cuts.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
examples: add cls_lua echo example

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>