First stab at adding MetadataManager

This is NOT ready to merge yet. I'll be adding implementation for the functions in the next couple of days.
I should state that I understand the flow from the perspective of having a `SFDataCachePolicyInvalidateCacheDontReload` option.  I guess I'm questioning the `SFDataCachePolicyInvalidateCacheDontReload` in general.