shell: Correctly deal with asynchronicity on services page.

Make sure that the 'items' cache always corresponds to what is on the
page so that calls to update_service and update can be interleaved
arbitrarily.

Also don't try to use the manager after the page has been left.

Fixes #927
Fixes #1192