blobserver/protocol: use blob.SizedRef to upload

Change-Id: I4b38b07869e08c2ccdcb76898dc908e6358501b0
Merge "blobserver/protocol: use blob.SizedRef to upload"
GCE: start systemd-journal-gatewayd.socket on boot.

Change-Id: I53e679f9a5f745c9a35904cdf65ff7844420e23b
third_party/kv: update to a9e92863f9c096cd0de82eb9c71af2a59174e671

with dependencies:
bufs: 3dcccbd7064a1689f9c093a988ea11ac00e21f51
exp: 9b0e4be12fbdb7b843e0a658a04c35d160371789
fileutil: 73109188c05569cd7eaf09a523a090e714fa9d37
mathutil: 1dc74626b71a300f674026585083535b6a4d3853
sortutil: e14776c5119b49f2cf829486056e411043b6b6b2
zappy: be0e6f7682658396e2ce883e87d9de3abc08fb74

Change-Id: I00c6ea4e85a62fe8268c41b1e3524ded64c235fb
GCE: expose host's systemd journal to camlistored; add /var/logs handler

The machine now boots with a new pair of cooperating systemd units:

1) cam-journal-gatewayd.service: a copy of the systemd-journal-gatewayd service,
   which runs an HTTP interface to the systemd journal.
2) cam-journal-gatewayd.socket: a unix socket listener listening on unix
   socket /run/camjournald.sock. Incoming connections will forward to 1).

Then the camlistored.service unit running camlistored under Docker now
passes -v /run/camjournald.sock:/run/camjournald.sock to make that unix socket
available to the Docker container.

Then in camlistored, a new handler at /debug/logs (wrapped in auth
checks) then opens that socket and makes an HTTP request to it,
copying its response (of log lines) back to the browser.

This will ease debugging, letting people only use their browser to
debug (or send logs to the Camlistore developers more likely), rather
than sshing in to CoreOS and learning CoreOS and systemd arcana.

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