Update docs and ensure PHONE_STATE is more predictable for unknown numbers.

In P the PHONE_STATE broadcast behavior changed due to new permission
requirements.  Updating the API docs for this broadcast to make it more
clear to developers how the broadcast will work given different permission
scenarios.

Also, made a minor change to how the "EXTRA_INCOMING_NUMBER" is populated
on the phone state broadcast.  Originally we opted to remove
EXTRA_INCOMING_NUMBER when the number is empty.  Developer feedback reveals
it is difficult to know for an unknown caller (where numer is empty)
whether the broadcast they're receiving is the one associated with the
broadcast for receivers with READ_CALL_LOG, or the one for receivers
without it.  This minor change eliminates the need to count broadcasts and
instead allows the developer to just focus on whether the extra is present
or not.

Test: make docs and verify the javadoc appears as expected.
Test: Used test app to confirm functionality.
Bug: 110190165
Merged-In: I55e3519fcbad4dcb7da041d0194bf4e1c7d38949
Change-Id: I35967d53274b99d66b63f4ff5acb60a689745f9d
2 files changed