Merge pull request #463 from bcwaldon/agent-shutdown-order

fix(agent): Clear UnitState before unscheduling on shutdown
refactor(fleetctl): Remove unused vars
feat(fleetctl): block forever on load/unload/start/stop
Merge pull request #455 from bcwaldon/fleetctl-blocking

Block forever in fleetctl operations
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
refactor(agent): unexport Agent.Bid
refactor(agent): Split JobScheduled into JobScheduledElsewhere/Locally
refactor(agent): unexport Agent.BidForPossibleJobs
refactor(agent): unexport Agent.FetchJob
fix(agent): Drop unnecessary call to VerifyJob
refactor(agent): unexport Agent.VerifyJob
refactor(agent): unexport Agent.BidForPossiblePeers
refactor(agent): unexport Agent.AbleToRun