Auctions can be held over http

This is a rebase of ~15 WIP commits.  This is necessary to make rebasing on top of master less insane:

- Add an http client and server
- support http communication mode
- support running the auction simulation *on diego*
- backfill a test for AddressLookupFromMap
- add logging to auction http client
- update readme
- support nats on diego
- switch to compare_to_percentile by default
- Rework how rep addresses are provided to the client
- support increasing number of reps/auctioneers
- backfill auctiontypes tests
- redo how remote auctioneer communication works in the simulation
- improve external auction communication
- add scenarios suite; pass maxConcurrent into the external auctioneers
- extract diego-cluster simulation out (now lives under https://github.com/pivotal-cf-experimental/diego-cluster-simulations)
WIP: simplify types, implement http communication layer, remove nats communication layer
WIP: first cell test
WIP: cell can compute stop scores, refactor scoring
cell can start and stop lrps, keeping track of its updated state
WIP: cell is ready
add batch
auction runner can run stop auctions
can distribute start auctions
the auction runner can distribute work amongst cells
when a batch completes, retry failures that can be retried and send the rest back
bail early in auction runner if necessary
WIP: mid-rewrite of sim
simulation now works
add logging; optimize order when distributing;
support simulating against an external node
test ordering in work distributor
enable stop auction simulation
move shared types out
rename some types