search: some refactoring to ease future work speeding PermanodeConstraint queries

Change-Id: Iac98a632bd40c723481f8e635a2c34780e87a408
more TODO

Change-Id: Ib43348a234a1902fa94d3d13b7e10aecb49da0e2
search: efficient in-memory scans of permanode modtimes

Change-Id: I82d34544a86cd9f3a52c2b7140dd89eac32fbfa9
corpus: start of work on AppendPermanodeAttrValues for permanode attr search

Change-Id: I969778420474e3413813bb49b1bfd095d9a12389
search & index: change 'before' logic, and tests.

Change-Id: I62f43f26b295c46b9da63efe018d324f9105606b
Merge "search & index: change 'before' logic, and tests."
corpus: keep permanode claims sorted in memory

Change-Id: Ic0387a3789c10036e21f5e2eb10101a0ae23b0b7
pkg/index: change deletes cache structure and meaning

1) The deletes cache now simply reflects all the keyDeleted index entries,
instead of trying to always hold the computed deletion state of the
blobs.

2) The IsDeleted and DeletedAt methods have been changed accordingly.
Moreover, while they previously were only taking into account the most
recent delete claim that affected the input blob, they now take
into account all delete claims that concern said blob.
In other words, a blob is considered "active" only if all of its past
deleters are deleted too (or it does not have any deleter).

http://camlistore.org/issue/191

Change-Id: I1b276dac0b3c6a3fb3beaf96828a45a85d27e4c6
pkg/index: update the deletes cache when receiving a delete claim

http://camlistore.org/issue/191

Change-Id: I49da2ef4e43675fba6a80db29ba96a473c159403
Merge "pkg/index: change deletes cache structure and meaning"
Merge "pkg/index: update the deletes cache when receiving a delete claim"
Speed up in-memory permanode attribute search.

Finishes Corpus.AppendPermanodeAttrValues and uses it in
PermanodeConstraint.

Change-Id: I031789e0974add24886cc0060e52ba538535c4e1
use isdeleted

Change-Id: I51a2135ae20e2c8a853173a2aba2f11945ffcf3e