delay cache writes 5 seconds

the thing is that anything in the priority blocking queue needs to be comparable and I don't think a Pair is comparable. I'll give it a try though.

It doesn't currently add entries that shoudln't cache already, thats a typo fail. 
The reason for the queue to be managed externally is that it allows us to have more than one cacheWriteDispatcher if we want and have them share the queue.