Add kv queue to google drive / google cloud storage sync handlers

Change-Id: I978ae42dbc6ce2840071cbadaf9351498a23415f
pkg/schema: Move two non-utf8-handling utility funcs to schema.go.

As per review comments.

Change-Id: I0240f697d0cb180a9fb2e9b1ddda7ac18869b4ad
index: reindex blobs when dependent blobs arrive out-of-order

Keep track of missing dependencies both in memory and in the index's
underlying sorted.KeyValue. When we see a dependent blob arrive, see
if we can reindex things.

Fixes camlistore.org/issue/102

Change-Id: I3d8cfc463e4b8c9d158be8f9656e772839b093b9
Merge "pkg/schema: Move two non-utf8-handling utility funcs to schema.go."
fault: new package for fault injection

Doesn't do much.

Change-Id: Iab038564a753611a8bc8f44f33a57dbfe96d76e0
s3: more fault injection, and simplify receive, removing spilling to disk

Change-Id: Id7fb01c40dc863bee483887bbf14934161eb03a0
More status handler HTML+JSON, more sync status.

Change-Id: I0381853191d5b871af649d102b976e592def791f
Fix bug where "Select as current set" item never shows up.

Change-Id: Ibc6b98c3feb65f28c3768cfaf6169044e41ad160
Merge "Fix bug where "Select as current set" item never shows up."
Merge branch 'master' of https://camlistore.googlesource.com/camlistore
Picasa: add importer.

Imports all images from all albums, and puts each image in its album.
Each album is linked under "Picasa (<username>)".
Tries to skip already imported files (check based on album/filename).
See Issue #391.

Change-Id: If00751671a429891c05bbe41f59c1421b2ff2de8
serverinit: allow S3-only configurations to also have a working index

... with kv or sqlite indexes, at least. Other types will need more
genconfig work.

Change-Id: I5fb9fa0a122693e08780c3fa20eae67fa850d98f
C+A: add Nolan Darilek (Individual CLA)

Change-Id: Ic4f94e5fc01ae8637f9f9441f961dca903c310ae
Linkify status HTML, and link to sync handler status pages too.

Change-Id: I18467511fd34f3bc232f38c2b91075c616c220a1
s3: do some retries in ListBucket, to work around Amazon-vs-Go's HTTP/TLS bug

Change-Id: Idfc8187d07f558f2e7c590dc6c14c66791f46e57
sync: missing handler return + wording change

Change-Id: Iebd5344a0a0e1418cb48c92b91858ebf2f9486c8
sync: fix bug in prefix enumeration. could send one extra item.

Depending on timing, could lead to ListMissingDestinationBlobs getting out
of sync and causing a lot of blobs to be replicated that were fine and already
on the server.

Change-Id: I3710e59088f1fe4e526f8f11bc9d1837a727e512
sync: add paranoia around checking storage's Enumerate implementation

Didn't find anything, but is useful to keep in, to maybe find bugs in the future
for other storage types.

Change-Id: If0fd37e03578de233be8da95ca45623c5f12156b
blobserver: give ListMissingDestinationBlobs the ability to exit earlier

If there's an enumeration error for src or dst, sending a zero value
will shut down ListMissingDestinationBlobs.

Change-Id: I95598e9dc2607610436faa06f40485d1abd2342f
sync: don't replicate a shard's missing blobs until enumeration is complete

Prevents spurious replication of blobs on enumeration error.

Change-Id: I38db7406f6ea52137cb757b32599b18eb7fcf3da