Delete cached bundle items when changed on disk

Effectively it doesn’t change much as cached items are fetched with a file date, but in theory it should now be possible to omit that date (if we can trust that fs-events has always notified us about disk changes).
Use array for cached settings names

We previously used a dictionary so that initializing a bundle item object wouldn’t need to know the difference between a full property list and a cached subset. Technically though the previous code had an implicit assertion on the bundle item not being able to rely on the settings values being useful, which is now gone.

The main advantage though is a smaller and more correct cache format.
Use constant for version of property cache format
fixup! No longer support deleted items in bundle’s info.plist

We still need to cache the ‘deleted’ key since delta items use this to indicate keys deleted in the local version.