Make getReleases use getReleaseBlob so that it caches blobs.
Use profile dir.
Add caching for evaluateRules.