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.
At this point, those two cache policies exist for parity with what has been done on Android. However, Android also has those `clear` methods. These cache policies are typically to erase the cache if the data is discovered to be corrupt.