introduce rough http api

This HTTP API is a work-in-progress; this first pass simply replaces the
each existing TCP API with a dumb equivalent that just does POST with protobuf
request/responses everywhere. It is not yet consistent or even designed.

* Ping() has been added to the backend, so that a client can test connectivity
* Echo API call is removed
* LimitDisk has had its aliases removed; callers must now set Hard
* StreamIn now takes an io.Reader instead of giving you an io.WriteCloser;
  this allows ths API to be synchronous where it matters, rather than doing
  a sync on .Close()
* StreamOut now returns an io.ReadCloser instead of just an io.Reader
* StreamOut and StreamIn send and receive a raw tar stream as the
  request/response body; protobufs are no longer wrapping the payload