ui: bulk tagging in debug console.

Implemented bulk tagging operations via single command 'tag'. Add, Delete, Set, and Clear modes are available (add, del, set, clear). Help on command usage is supplied via -help argument.

basic usage: tag <mode> (args)
tag add 1,2,3
tag del 1,2
tag set 1
tag clear
tag -help

Caveats:
Client will attempt to add/remove tags regardless if the selected permanode contains those values. So it will add a tag multiple times and attempt to delete a tag that is not set.

Change-Id: Ib5c8ccc3d74e49701629c37397de478b95db4fd6
index/corpus: cache sorted (by time) permanodes

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

Change-Id: I599f430e0f7691e54df38e10344c62cbdb6429a0
Merge "index/corpus: cache sorted (by time) permanodes"
gdrive: fix missing err return, add docs

Change-Id: I340da620cf81dbb2f9878494da3f3b6ea10d19c9
Merge "gdrive: fix missing err return, add docs"
search: fix typo in is:portrait

Change-Id: Icaf9fcc9196d56b76733f16e84ea059b8493f18f
Merge branch 'master' of https://camlistore.googlesource.com/camlistore
website/server-config: packBlobs and kvIndexFile options

Change-Id: I3cde74d961d292a5d18b952e184e8df0e000bbc3
TODO: add reindexing notes

Change-Id: I688059210dcbff955b909782002806a04e6c5259
sorted/buffer: start of a sorted.KeyValue buffer for reindexing

Change-Id: I2617d98d6cb0b32548723ca45620b05eab91bca2
Merge "website/server-config: packBlobs and kvIndexFile options"
C+A: add Mario Russo (Individual CLA)

Change-Id: Ib8aa0489252c733628e18c367ed726df303b1d0c
Merge branch 'master' of https://camlistore.googlesource.com/camlistore
Merge "ui: bulk tagging in debug console."
index: fix data race on BlobSource, make it private.

index.New was starting outOfOrderIndexerLoop in a goroutine. And
outOfOrderIndexerLoop had an if index.BlobSource == nil check, on which
it relied to go on. However, since BlobSource was public and unguarded,
the following sequence was possible:

ix, _ := index.New()
ix.BlobSource = bs

which is racy because the BlobSource assignment may or may not happen
before the check within outOfOrderIndexerLoop.

TestOutOfOrderIndexing was relying on the fact that apparently most
of the time the assignment seems to be happening before the check.

This patch:
-makes BlobSource (now blobSource) private, rendering the race impossible
out of the index package.
-moves the initialization of blobSource, as well as the execution of
outOfOrderIndexerLoop at a unique point, in InitBlobSource (new method).
-makes sure all accesses to blobSource are guarded with the index mutex
(now a RWMutex).

Context: while working on tests for http://camlistore.org/issue/454

Change-Id: I9605f26b41abd62b42880be0620b06ce143761bc
Merge "index: fix data race on BlobSource, make it private."
importer/picasa: a couple schema changes

-album: removed Name attribute. It seems like a valid entry from the feed
(picago indeed gets value), but it is not referenced anywhere in
https://developers.google.com/picasa-web/docs/2.0/reference and it seems
to have the same value as Title anyway.

-photo: removed broken (and redundant with camliContent if not broken)
camliPath.

-s/ID/picasaId/

Change-Id: I5389d825eae83b7618f282698a43c94be6ca8df3
Merge "importer/picasa: a couple schema changes"
0.8 notes: add debug UI window

Change-Id: I2242037fb0625c608c40a282c93f4646951b8768
camget: add -skip_irregular flag for Windows users mostly

Change-Id: I8037d2f6a54e375eeeb7c79ecfedbbeaf547efed