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
Minor thing but:
```js
squidUpdate.purgeKey(
   utils.surrogateKeyPrefix + tileSetConfig.surrogateKeys.handler,
   tileSetConfig.purgeCallers.created
);
```
looks more readable for me :japanese_ogre: