Add Error Limiting to slow nodes.

NOTE: This feature is experimental and should not be used in production !!

The proxy servers keep track of all requests and errors made to each node in a
shared SQLite database. Errors are defined as requests that resulted in a
timeout.  This data will be checked by the proxy before it sends future
requests to those nodes. It uses the existing error limiting functionality to
skip these nodes, however it will skip a maximum of one node based on this new
data. The SQLite databases should be stored on a tmpfs for speed and they are
rotated and removed occasionally, every 12 hours by default.

Change-Id: I37a63f209c989f72ef3aaa59934e6ec720911dce
sendfile for GETs

This sort of crams sendfile support in beside splice.  You lose
auditing of object contents on GET, but it's quite a bit faster.

Here's an entirely unscientific benchmark from my virtual machine:

regular:  GET 30000 objects @ 250.54/s
splice:   GET 30000 objects @ 309.57/s
sendfile: GET 30000 objects @ 378.46/s

Change-Id: I4dbbb61f45a110988b19aa0ecb676e86dfb07d0b
adding some experimental patches for testing