making PCRECache a LRU cache

This patch makes PCRECache a LRU cache and introduces a new runtime option
Preg.CacheLimit which specifies the maximal number of cache entries per thread.

The latter point fixes a Wordpress issue where the PCRECache was growing indefinitely.