Add SystemInterface API to collect the list of processes running on the system.

This API will return a list of (PID, UID) for each process it sees running at the time it is invoked.
The list is gathered by scavenging /proc, and should be treated as an instantaneous snapshot.

There is potential for security vulns associated with /proc access. For this reason, Android defaults
to mounting /proc hidepid=2,gid=readproc, in order to minimize and control the portions of the system
that can gain unrestricted access.

In order to play along with this requirement, the implementation of getRunningProcesses() is backed by
a native service, which has a surface area much smaller than CarService, and access is restricted to
SYSTEM and ROOT users only.

Change-Id: I217cc6a4671187a2ae617fb454477e129c4b7371
Fixes: 68164195
Bug: 65846699
Test: manual
23 files changed