Retain display when creating specialized contexts. (DO NOT MERGE)

Fixed a bug that cause Context.createPackageContext() to discard
display information.  Likewise also fixes issues where the
activity token, override configuration, user handle, and
restriction state might be discarded.

As part of this change, reworked how Contexts are created to make
initialization easier to understand and less error-prone.
The init() methods have been removed and most of the state is
now stored in final variables.

Bug: 12015587
Change-Id: If795851f1cd078bef889b76a52e00d9b3c06ab11
3 files changed