Track redundant ops when opening the cache.

See https://github.com/JakeWharton/DiskLruCache/issues/28

Change-Id: I4815aed3b40f0d2599ff12a42853a4947feffbca
Manually update the libcore native code.

Cherry-picking all the individual tiny cleanups from the internal branch was
too hard.

Change-Id: Ib97643d3502295685390854c9edd97c93c4c2ecf