Cache the hash table in APCIterator

Summary: Original APCIterator calls ConcurrentTableSharedStore::getEntriesInfo(),
which does not really guarantee the same iteration order
even when no insertion/deletion happens. It also has efficiency problems (which
is not addressed in this diff).
With this diff, we should at least have a consistent view if we do not change
the table. Deletion of APC entries matching a regex should work, too.

Reviewed By: @markw65

Differential Revision: D1703741