NSData category for async loading data from url and calling block. Requested data is cached with NSCache and can be requested multiple times simultaneously.