Move timestamp out of Apex

Apex class served a timestamp holder to determine whether apex-info is
updated or not. To support apex for framework manifest, we need to
externalize the timestamp from Apex and then pair it with HalManifest
data.

This is a first step toward that direction. In this change,
LockedSharedPtr<T> is modified to hold lastModified timestamp,
which is associated with the last modified timestamp of the data source.
Get() now invalidates the last fetched data when the timestamp is changed.

In a followup, we'll change framework manifest to use TimestampedData as
well to support loading framework manifest from /apex.

Bug: 327365139
Test: atest libvintf_test vintf_object_test
Change-Id: I4d10724f44a5ea66ec4e47ad6daf41cb01fb8788
11 files changed