When loading profile, do not initially set default profile as parent.
The old code will cause problem if the loaded profile does not specify
its parent explicitly. That loaded profile will have current default
profile as its parent, which means its behavior changes if another
profile is set as the default profile . A good example is the 'Shell'
The new code initially sets fallback profile as parent, which guarantees
the behavior of 'Shell' profile is stable.
(cherry picked from commit cb6a87a9b45a24e020e32200ff502790ef70c99a)