[NextPluggableDevice] Add TF_TemporaryVariable C API
@jyingl3 can you have a look? thanks > @jyingl3 can you have a look? thanks

Thanks Zhoulong. It looks good to me. Added Penporn as it is adding new TF C APIs. @penpornk can you help to have a look? thanks
Currently, TemporaryVariableOp will use context->allocate_temp() to allocate a tensor and do the DToH copy through pjrt_device_context->CopyDeviceTensorToCPU(), however, when the buffer is allocated through AsyncValueAllocator, pjrt_buffer is a nullptr in TemporaryVariableOp, thus crashed. 
TF_TemporaryVariable allows plugin implements the op with its own tensor allocator.