Refactor the data part of infinite scroll into new SearchSession.

This will also be used by the detail page to facilitate fast
flipping and live udpates.

Also fixed the thing where we discard the websocket responses and
re-query for all updates except the very first one.

Change-Id: Iac196670db967f1d41b20ce30641118ede61f3c2
Merge "Refactor the data part of infinite scroll into new SearchSession."
The search page had the same bug with non-integer image sizes o_O.

Change-Id: I4133e4c2ac50666d27918f84007395ccb05bc6ca
Integrate the detail view into index.html.

The detail view now loads with only two HTTP requests: one for the
piggy, and one for the big image. No other resources are loaded,
even the blob descriptions, because they are cached by SearchSession,
which is shared between the search ui and the detail ui.

Likewise, when you go back to the search results page, no additional
requests are done.

Also:
- When you press back on detail page, scroll position is now usually
  restored (if you refresh between index and detail, it still won't
  restore).
- Detail page live updates! It came for free with using SearchSession.

Change-Id: I58ada7bdd30afc2644860fbda6167fc5ce865b0d
fuse: support extended attributes

Change-Id: I0698d5adfc756bf8f589f2cdbb0057f2789cd40a
Merge "fuse: support extended attributes"
doc: add camliDefVis to schema claims docs

Change-Id: I76d66887fb599e80472da489d7dfeb8b629b9b4a
Merge branch 'master' of https://camlistore.googlesource.com/camlistore