remove db checks on every request and use in memory cache (dev only)
remove db checks on every request and use in memory cache (dev only)

Before:

*** Development Only ***

On every request, we check every miq_product_feature lookup against the database.
This helps us ensure the developer is using a valid feature.

The problem is these features looked up a lot.
And they often are a recursive lookup when finding the parent feature.

So on the dashboard, there are around 50 lookups with a wall of
text with 215 more => around 265 database lookups.

Good news: most of these lookups are cached, but pages are added to the log
causing them hard to read.

```
[----] D, [2022-06-27T18:20:37.786066 #57148:13f24] DEBUG -- :   CACHE  (0.0ms)  SELECT COUNT(*) FROM "miq_product_features" WHERE "miq_product_features"."identifier" = $1  [["identifier", "dashboard_view"]]
```

After:

Since the identifiers have been cached in memory (because we do a lot of them)
we are instead using the in-memory cache.
250+ lines of noise disappear from the logs.
And potentially a dozen fewer queries are performed

ManageIQ/manageiq-ui-classic,ManageIQ/manageiq-ui-classic,ManageIQ/manageiq-ui-classic,ManageIQ/manageiq-ui-classic