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
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
Merge "Picasa: add importer."
publish: use generic queries

Use generic queries instead of specialized index queries. This is a step
towards the publisher app, because its client will have to use generic
queries.

Context: http://camlistore.org/issue/365

Change-Id: I2781a345e024174e3bea8511b6cdc6f342d5a7c1
website: add Picasaweb to 0.8 notes

Change-Id: I0de6dbfa506a9153a73c61e638ce4ddbfbfde702
more TODO

Change-Id: Ibb03612c1a06287bf781b96f478d4d627b159c84
genconfig: picasaa importer doesn't have a path

Was removed during codereview, but not removed from here.

Change-Id: I51309f46fe9747bcc0b2476813acac9120c32b28
TODO: ditch the importer.Interrupt type

Change-Id: I3a7eac29713a5079220b2e56508bd8ca105b14cf
HACKING: update github part

Change-Id: I1e8bc0381a084357dd0a008a1a1e2563f85a9ea6
storagetest: add a test of EnumerateBlobs w/ prefix of a blobref

Change-Id: Id865da5ba6c65e0110b0eb6c6d0bd45980d33105
Merge branch 'master' of https://camlistore.googlesource.com/camlistore
Merge "publish: use generic queries"
search: accept 'and', 'or', and parentheses in expressions

'and' has precendence over 'or'.
both operators are left associative
parenthesized expressions are evaluated first
Parser refactored, parseAtom split up.

Change-Id: I1f194cc75df49bad9d30d041d689d8ba833076f1