Refactor page purger

- Switch from arrays to a new Urls collection. This extracts some
  behaviour from the pagepurger that will now be available everywhere
- Some method extraction on a couple of the fatter methods in PagePurger