Add MediaStore API to specify media capability uid

It's quite common for a serverApp to open a MediaProvider URI on behalf
of a clientApp. For example, with SAF when a clientApp launches a picker
intent to open a file, it'll be a serverApp (ExternalStorageProvider)
that'll eventually forward the open request to MediaProvider.

While forwarding the open request, the binder calling identity is
typically cleared intentionally, so that MediaProvider checks
permissions based on the servingApp. This poses a problem in some
scenarios where MediaProvider should treat the open request differently
based on the original caller. For example, based on the original
caller's declared media capabilities, a media file may or may not
require transcoding. This is the logic that the MediaProvider should
check and correct for, otherwise, apps might not be able to open media
assets via proxy URIs.

BUG: 176157500, 154734139
Test: still builds (added test in the next cl which processes this
string).

Change-Id: I121fe0447e7ac73535ed724cf4ed07ce98e6e2ac
2 files changed