Fix LuaSandboxFunction leak

EZC (HHVM's Zend compatibility layer) doesn't call destructors, so it's the
wrong place in which to delete the chunk and decref the parent LuaSandbox
object. The code is never executed under HHVM, causing LuaSandbox to leak.

zend_objects_store_put delegates to ZendObjectStore::insertObject, which sets
the destructor as the dtor attribute of the object it inserts, but doesn't call
it. This is documented in the code[0] and the README[1].

The place to do this is the free_storage function. This pattern (specifying the
generic zend_objects_destroy_object as the destructor and having a custom free
function) is what both the MongoDB and OAuth extensions (which use the Zend
compat layer) do.

 [0]: <https://github.com/facebook/hhvm/blob/master/hphp/runtime/
        ext_zend_compat/hhvm/zend-object-store.cpp#L56>
 [1]: <https://github.com/facebook/hhvm/blob/master/hphp/runtime/
        ext_zend_compat/README.md>

Bug: 70006
Change-Id: I5ff87f2f7a087825e0bcc8e853bfae220f00eff5
Merge "Fix LuaSandboxFunction leak"