Mercury branch - all the changes and functionality we need to have Mercury skin working

DO NOT MERGE, THIS PR IS PART OF PROJECT MERCURY! 
@macbre It can. What would be the best course of action here, to cache it with some small expire interval or with big expire interval and purge cache on article change? The resulting page for Mercury is cached in Varnish but that may not be true for other clients.