epgcache: Use std::dequeue instead of c array for descriptor list

Instead of trashing the stack with a 2k fixed-size array, simply
allocate it on the heap. A dequeue fits well here, because we only
use it sequentially, and it has faster insertion than a vector.

We have a C++ compiler and libraries, so let's use them.