Cache metadata for CKAN datasets

So, it turns out that every time we parsed CKAN repositories, a HTTP request was made EVERY time we went to fetch a metadata item. This PR fixes it, and should hopefully speed things up massively on ODCs too.