REFACTOR O' DOOM ++ fix issues with de-duplication in Dynamic Fast & Dynamic Slow

GOODBYE `TemplateDeduping`, BANE OF MY LIFE

Also reduces number of parameters we have to pass between templates.

Also reduces duplication between templates.

Also moves the resolver into pure Scala instead of that weird template.

Also gets rid of a lot of the crap we had to do to produce the index for the AJAX updates to fronts.

Also fixes the issue where items that appear in Dynamic/Fast and Dynamic/Slow containers are not de-duplicated from fixed containers further down the page.

There's a bunch of things it doesn't fix that I want to go back to:

* Still some duplication between top level templates for containers. We need to consolidate them (see TODOs)
* Still nasty we have to pass the CollectionConfig all the way down to the item. The reason is it's used in the Kicker stuff. We should probably generate the Kicker pre-emptively in the Scala so that we could get rid of that. That can be a different refactor, though.

CC @phamann 
Surely this PR should move everything to `ContainerAndCollection`? What is left?