Return ENOENT if app tries to access other packages fuse path

Any fuse calls that want to get node object can provide a ctx.
If the caller is an app and does not own the fuse path (like another
app's path), then fuse will return ENOENT. (And fixing some null
dereferences).

Also, do not cache anything under Android/* as different caller could
get different result (like getting ENOENT if caller is not owner, while
getting the real attribute if you are the owner of that path).

Bug: 150775424
Test: cts test pass even Android/ or Android/obb and Android/data mount
is disabled

Change-Id: I03881be0cca5fc295d01289fdf2fc7123edffd5e
5 files changed