Benchmarks: Re-factored benchmark infra

Major re-factoring to use a dual-channel strategy for executing
benchmarks. Uses cluster metadata for managing lifecycle events, but
transport channel to send benchmark definitions and results between
master and executor nodes.
@imotov I actually agree with you. The conclusion I came to while writing this is that it would be nice to have a state store which is distributed, shared, and consistent, but which does not co-mingle with critical cluster state. That being said, I think that is a larger conversation and I think the current implementation does not place excessive strain on the cluster.