Fix Preferences related tests, document limitations.

- The default Preferences factory methods are entirely
  useless on android. "java.home" points to a location
  in a read-only partition and "user.home" is set to "/"
  which apps are not allowed to write to. A strong warning
  has been added against these methods.

- We continue to support the underlying default preferences
  implementation (even though there's no way to use the impl.
  directly except by reflection) to help apps transition *just
  in case* they were manually massing "user.home" and "java.home".

- Add a fake preferences factory that allows us to
  use a new (temporary) preferences root for every test.
  Fixed a test interdependency issue that was uncovered
  by this change.

Change-Id: I6019441c65b398376d84264f1e4c9776507533eb
6 files changed