Fixes race condition on onRestoreInstanceState()

An incorrect ordering of restore state in onRestoreInstanceState
was causing an inconsistent layout after rotating the screen, for
example, due to an incorrect value for getNumColumns(). Moving the
adapter restoreState() call to the end should allow the listView to
restore itself first, then allow the adapter to restore and recalculate
the items per row.