Introduce action affordability checking.

Allow clients to indicate that they want to be told about an app's
ability to afford specific actions. This allows clients to know when to
stop ongoing work/prevent further actions and when has the ability to
pay for intended actions.

Removing the BalanceChangeListener since clients won't be able to make
use of solvency/insolvency information (becoming solvent doesn't mean an
app can pay for an action and becoming insolvent only matters if the
cost of an action is greater than 0).

Bug: 158300259
Test: atest FrameworksServicesTests:AgentTest
Change-Id: I7a7bdde1d385991a8d4d35b89fc278fa3c4fe3e7
4 files changed