Use collection resource promises when syncing

It loops over each resource in a collection to sync it to cache but
assumes each resource has been resolved. Wrapping each cache.store
in the resource's promise.then solves the issue.