Move environment/job/product to ContainerConfig

These dimensions are necessary components of service discovery.
So, this change allows the agent to emit SD information.
Initial implementation of agent service discovery

Not yet invoked by the registry.
Scheduler registry: update for definition moves
Scheduler xf: update for definition moves
Standardize writes to disk
serviceDiscovery as interface
Prep registry for SD injection
Wire in service discovery to registry
Instrument SD invocations
glimpse:provider=harpoon
Proper hierarchy in tag order
Clarify scoping behavior in defers
Merge pull request #150 from soundcloud/agent-sd

Agent service discovery
Order is product, environment, job
harpoonctl: config: add product/environment/job
Don't overflow uint if hosts are oversubscribed
Documentation for the big state machine overhaul.
Moved exported images to github.
Fixes to agent service discovery

- Handle empty reload command
- Refresh on state changes: necessary to capture ports
agent SD file must be readable by others