Consistent "low storage" behavior.
When freeing cached data, the caller can now provide a "reserved"
size which we won't clear cached data from.
Bug:
38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Ieb91b3e5345a950d4785fd7915f520f0a68a567a
(cherry picked from commit
60f8a5330ca921d936ae306bf6d17596b82b518c)