osutil: use MkdirAll to create cache dir

http://camlistore.org/issue/186

Change-Id: I3078261ed57d9e7cbf090c7e1fdb41a1c38b7741
Tile images nicely within BlobItemContainer.

Screenshots here: http://imgur.com/XN9qFLP,PeEDPnW,CS35Pw6,VS0nHaG,SNT1ZXZ,2nMWVYz,8RmuLuw,NE8b26n,EFErMdg

Change-Id: I6a66b5b782363882261b80e7ac9930ff1046efa6
integration tests: kill camlistored when all tests are done

-osutil: PollParent to monitor parent process.
-camlistored: option to kill itself if it has been orphaned.

Change-Id: I87193254d55847e46134439ecd1b04f71718d083
Merge "Tile images nicely within BlobItemContainer."
Merge "integration tests: kill camlistored when all tests are done"
osutil: fix typo in build tag

Change-Id: I60536a17bb847d459818f6377a06111beb7c3548
fs: typo in copyright date

Change-Id: I59cbf752971d7f1b9a8e6b291aec814d3b833378
dev-server: remove. replaced by devcam server.

Fix related docs, config files, buildbot...

Change-Id: I638d3856f42953603b13204fb56782974d0db9ee
camtool: typo from Adrian (ajft.org) and run gofmt

Change-Id: Ibbebea7bcf9a583c0ea1e86f09eff69acd2b174e
Send auth header with GET requests too.

Change-Id: I14d5e5655f5b3137a0ad0d121504993df7f0ed9f
Merge "dev-server: remove. replaced by devcam server."
Merge "Send auth header with GET requests too."
Fixes to appease make presubmit and make forcefull on FreeBSD.

This change adds a dependency on lsof(1) when running on FreeBSD.
lsof(1) is not part of the base system, and lsof(1) would need to be
installed (usually from ports).  If lsof(1) is not installed an error
will be returned in the form of:

ident_test.go:88: exec: "lsof": executable file not found in $PATH

Change-Id: I3cb15af369dc10a8a39aeaf82cceff3c788104b8
Merge "Fixes to appease make presubmit and make forcefull on FreeBSD."
blobref: add TODO

Change-Id: Ia4255b33eaafa45bab56c8a1d16f08dad354a1d9
demo.sh script to source during demos

Change-Id: If7415d16f21fdc4ae16778b3bf2ce5c908067193
blob: replacement for *blobref.BlobRef type.

Shorter name (blob.Ref instead of *blobref.BlobRef) and value
semantics instead of pointer.

Also, equality (==) works on it, so it can be used as a map key.

It's also more memory efficient, for the upcoming search server that
needs to store tons (or all) of your blobrefs in memory.

Change-Id: I494a2d72d31865211fa388fedf938ed25f99ca13
blob: more porting blobref to new pkg blob

Change-Id: Id7f0dd80dd6ce5fa55a2c04e2e2a882a5ef8add6
all: delete pkg/blobref; convert all from *blobref.BlobRef to new blob.Ref

Change-Id: Id2dfb7f19452bedf4f3c9310b36227fd8117b225