Adding support for in-place use of ProducerConsumerQueue.
Summary: As it is, ProducerConsumerQueue requires that values are moved or copied on the way out of the queue. It would be nice if it was possible to get a reference to the front of the queue, use it in place, then destruct it.
Test Plan: Unit tests
FB internal diff:
D484538