Cache non-category targets

Category targets are not cached because the cache key scheme doesn't
work for them and parser function targets are the expensive ones.

Change-Id: Id74e240e898e2fa5c027ebd438b149a67db6a19b
Merge "Cache non-category targets"