Fix exception from calling updateUIFromServiceState() before the
handshake completed.
Remove possibility of ordering the same page multiple times pre-handshake.

- Check mOrderedPagesBeforeHandshake for the requested page in
  maybeOrderPage(), and if the page is there then there's no need to
  request it again.
Fix HandshakeNotCompleteExceptions by moving setAdapter() calls.

Calling setAdapter triggers a layout measure pass, and the measure
pass ends up calling getView(), which can call through to the service
to request the album art URL, which only works after the handshake
is complete.

Where setAdapater() calls were happening in the onCreate() or
onServiceConnected() methods, create a handshake callback and set the
adapter there.