Prep for marketing challenge

mostly switching to middleware + controllers
But now you need to do put data into a special FT namespace…

Also there is going to be an endpoint where we will want to have a different cache header and all this will have to be unpicked.  Each route should _feel_ like normal express as much as possible.

Koa offers much nicer patterns for doing this in the future (you can intercept requests as they go down as well as back up through the code — rather than Express which only lets you hook into the ‘down’).