Fixes#854.
There is a bunch of UI code which runs in `onResumeFragments()`. However
it all depends on the `app` variable in `AppDetails` being up to date.
There is a number of things which could've changed since last refresh,
the most notable of which is that the app may have been
installed/uninstalled. Thus, this particular change checks only for a
difference in installed state. However it could equally do a deeper
comparison between the old and new `App` objects if it becomes aparant
that other state becomes stale between pause and resume in the future.
It is true that this requires a database query to be run each time the
activity is resumed, but it doesn't seem there is much else we can do
to prevent bugs relating to stale state.