If you constructed a preference activity whose first header
didn't have a fragment, this would crash in two-pane mode
because it would try to use that header as the initially
selected header but not have a fragment to show.
We need to have a fragment for whatever header we switch to,
so the code now looks for the first header with a fragment
as the initial header.
Also added some error checks to throw more descriptive
exceptions on bad headers -- when there is no header at all
with a fragment, if the app tries to manually switch to a
header without a fragment.
Change-Id: Ia84221fcb2fe5755bb674e0606ac2a1fcde4cdc9