[android] Improve CFKnownLocations.
[android] Improve CFKnownLocations.

The usage of CFKnownLocations from Swift Foundation seems to be reduced
to both _kCFKnownLocationUserAny and _kCFKnownLocationUserCurrent. From
the public API of Swift Foundation there's no way to get to
_kCFKnownLocationUserByName. Supporting UserAny is, therefore,
necessary.

There are some ways of accessing _kCFKnownLocationUserByName from the CF
API, but it seems that the API only allows Current or Any, even if they
are not enforced. In any case, Android do not have Unix usernames, so
ByName doesn't make sense.

The change maps AnyUser into a directory inside the preferences of the
HOME of the user, and other user names into another subdirectory. Each
app will have their own set of Any and ByName, but at least they are not
confussed with the CurrentUser preferences.

Additionally, instead of picking up a CFFIXEDUSE_HOME, request the home
directory from CFUtilities, since it deals with HOME, HOMEDIR and
CFFIXED_HOME appropiedly, since HOME is necessary for many other things.

The current code will have aborted the test suite, while the modified
code, passes the test suite for UserDefaults.

apple/swift-corelibs-foundation,apple/swift-corelibs-foundation,apple/swift-corelibs-foundation,apple/swift-corelibs-foundation,apple/swift-corelibs-foundation