Rename AgentGroup to Target

Yeti started with Agent objects, which should have been called Browser objects. Agent objects were used by the Batch object to assign tests to them and collect results.

Later last year, Batch objects began using AgentGroup objects instead of Agent objects. AgentGroups have almost the same API as Agents, but they can represent more than 1 Agent under the hood.

AgentGroups are now called Targets. A Batch has 1 or more Targets. Each Target has 1 or more Agents.

I didn't want to use "Agent" or "Group" in the name anymore for these reasons:

 1. Variables containing AgentGroup are usually called "agent". Am I talking about the Group, or the actual Agent? This is unclear.
 2. Sometimes we have AgentGroups with 1 Agent. This will soon be deliberate for benchmarking purposes.

TODO

1. Rename events from agentFoo to targetFoo from this layer through to the Client. Or just don't namespace these at all?
2. Provide legacy support for old agent events. EventYoshi makes this a pain, because it bugs out when you assign more than 1 listener to a yoshi.
3. Rename Agent to Browser. (Will happen in a new pull request.)