refactor(machine): Separate HasMetadata from Machine
refactor(machine): Drop return value from Machine.RefreshState
refactor(machine): Separate Machine iface from CoreOSMachine impl
refactor(machine): Make refresh an impl detail of CoreOSMachine
fix(machine): Protect CoreOSMachine with mutex
Merge pull request #470 from bcwaldon/machine-interface

Refactor machine pkg to use interface
refactor(systemd): Rename SystemdManager -> UnitManager
refactor(systemd): Introduce unit.UnitManager interface
Merge pull request #471 from bcwaldon/UnitManager

Add UnitManager interface
refactor(test): Move fleetctl tests to functional/
Merge pull request #472 from bcwaldon/move-fleetctl-tests

Move integration-tests/* to functional/*
fix(agent): log all unit state changes
Merge pull request #474 from jonboulle/state

fix(agent): log all unit state changes
refactor(agent): Move logic from HandleEventJobOffered to MaybeBid
refactor(agent): Move logic from HandleEventJobScheduled to JobScheduled
refactor(agent): Move StopJob locking into Agent
refactor(agent): Move logic from HandleEventJobUnscheduled to JobUnscheduled
refactor(agent): unexport Agent.UnloadJob
refactor(agent): Drop Agent.Machine()
refactor(agent): unexport Agent.LoadJob