Mweb 1017 caching

@nandy-andy @aquilax @hakubo @rogatty It is an attempt to provide control over caching our responses:

1) Caching all the GET responses from the API
2) Re-enabling MD5 ETags provided by Express (render/ overrides them and sets the ETag as a mix of last update timestamp and cachebuster)
3) tile_set/ and map/ use surrogate keys for purging as they have querystring params we cannot control
I'm leaving them with the prefix 'map' here as they were previously used with it and changing it could blur the debugging. However, s caller is just used for debugging purposes, I can remove the prefix if suitable.