serverconfig: conditionally install pprof handler.

This change enables the ability to profile with:
go tool pprof http://<host>:<port>/debug/pprof/profile

Setting CAMLI_HTTP_PPROF=1 in your environment before running camlistored will
enable the handler.

Change-Id: I91993f5166e257e5be406a4d2c3e6bc0028a435a
perf: perform password auth before checking UID.

On FreeBSD DevAuth was showing up as consuming ~10% of the time when doing big
camputs.  It disappears with this change. FreeBSD and Mac exec external
programs for localhost auth, so I imagine they'll both benefit.
On linux, checking the password in memory is (probably) still faster than
reading from /proc (which I'm assuming turns into a roundtrip
userland->kernel->userland which is nice to avoid).

Making the change to UserPass under the assumption the performance improvement
would be similar.  Untested/unprofiled though.

Change-Id: Idb7e888df6e9a36db0be671a44911e018eb7986e
make.go: fix cross-compiling

http://camlistore.org/issue/198

Change-Id: Ic1bf1e458d8e197b85137ad1721820fbf31cb755
Merge "serverconfig: conditionally install pprof handler."
Merge "perf: perform password auth before checking UID."
localdisk: don't allocate 512 KB on each readdir

Change-Id: I3e71605f0ef53351f0ee50bb78bdfbf6b5d7dca1
auth: Fixed regression introduced with a4d187f

Tested with:

(shell1) host1$ devcam server -all
(shell2) host1$  curl -i http://localhost:3179/ui/
HTTP/1.1 200 OK
...

(shell1) host2$  wget -qS http://sagan:3179/ui/ -O -
  HTTP/1.1 401 Unauthorized
  Www-Authenticate: Basic realm="Any username, password is: pass3179"
  Content-Type: text/html; charset=utf-8
  Content-Length: 33
  Date: Wed, 21 Aug 2013 03:07:50 GMT

(shell1) host2$ wget -qS http://user:pass3179@sagan:3179/ui/ -O -
  HTTP/1.1 401 Unauthorized
  Www-Authenticate: Basic realm="Any username, password is: pass3179"
  Content-Type: text/html; charset=utf-8
  Content-Length: 33
  Date: Wed, 21 Aug 2013 03:06:54 GMT
  HTTP/1.1 200 OK
  Accept-Ranges: bytes
  Content-Length: 1213
  Content-Type: text/html; charset=utf-8
  Last-Modified: Thu, 04 Jul 2013 02:08:28 GMT
  Vary: Accept
  Date: Wed, 21 Aug 2013 03:06:54 GMT
<!doctype html>
...

This should resolve https://code.google.com/p/camlistore/issues/detail?id=204

Change-Id: I68ef2a0d93df56172033c2cbac4170e54d6452be
serverconfig: idle synchandler when no localdisk as primary storage

Because no localdisk means either s3 or google is the primary,
and none of them support efficient replication.

1) Added a dummy synchandler constructor for when config has "idle"
2) Set "idle" for synchandler config when no localdisk
3) fixed corresponding tests

Also:
- added error (and test) when no localdisk and both s3 and google
in config
- added s3 + mysql test

http://camlistore.org/issue/201

Change-Id: I861fdca0c203bc0181ab6d548adab501ed98d2f0
Merge "serverconfig: idle synchandler when no localdisk as primary storage"
Merge "auth: Fixed regression introduced with a4d187f"
Note to add more tests for pkg/auth

Change-Id: I5b2d0139c4acc60a3b8ed33f92cd5ea085baea8a
serverconfig: cleanup from previous review.

Addressing the comments in https://camlistore.org/r/510

Change-Id: I4523afe76805dbbb2247ece527b8e058ecd087f4
Merge "serverconfig: cleanup from previous review."
buildbot: use make.go

Change-Id: I76544d7e0601be9a5bc2b9378a29db6c97894d76
Cleanup: remove BlobHub and time.Duration waits from storage interface

Move up a layer to the HTTP.  Also, start to remove ContextWrapper
stuff.  We've done it differently for App Engine instead, and will do
it differently yet moving forward.

Also add blobserver.Receive and use it in most places, moving checksum
verification up a layer.

Bunch of other cleanup and TODO fixing too.

Much simpler and cleaner.

Change-Id: I12e56c5d4e53bfcf82bdd8fb0b6d57c248ff605c
Merge "buildbot: use make.go"
Ignore server/appengine/source_root/

Change-Id: Iaf784f7d0df83b4e7a7425f37a2f2f60f7507114
Ditch App Engine ContextWrapper noise; add test that App Engine always compiles.

I had broken App Engine in my previous commit, since it wasn't part of 'make presubmit'

Change-Id: I32c25efbc7c348ff516128c87b6e817ae0685386
Add pkg/gate, to limit concurrency.

Change-Id: I0a75e0caa7bcf16f7b7b93ca7366cfe0c9a4cbd2
Use pkg/gate in a couple places. Do s3 parallel state. Update TODO.

Change-Id: I23006baa7b454ceca3f07c8fa7789ad54c524849