New-Style Agent Heartbeat

In conjunction with rackerlabs/teeth-overlord#48, this PR modifies the agent to send heartbeats by performing a `PUT` to `/v1/agents` with a payload like:

```json
{
    'mode': 'STANDBY',
    'version': '15',
    'hardware': [
        {
            'type': 'mac_address',
            'id': 'a:b:c:d',
        },
        {
            'type': 'mac_address',
            'id': '0:1:2:3',
        }
    ]
}
```

We might want to rethink the `mode` field later, but for now this just causes us to send hardware information that the overlord can use to attempt to identify the chassis the agent is running on.