fix(registry): Unshadow legacy unit
Merge pull request #395 from bcwaldon/unshadow-unit

fix(registry): Unshadow legacy unit
fix(fleetctl): Print job targets when state changes occur
Merge pull request #396 from bcwaldon/fleetctl-targets

fix(fleetctl): Print job targets when state changes occur
fix(agent): Lock AgentState in event handlers

Access to the AgentState object by the Agent event
handlers must be done in a transaction. Locking from
the event handlers themselves gets us this. This cuts
down on mis-scheduling of jobs since Agents are no
longer dealing with a racy view of their state when
bidding on Jobs.
fix(agent): Allow agents to bid on conflicting jobs

Agents may receive messages out of order, which can cause
an Agent to bid for a Job after it has already been scheduled.
If the job that was bid upon has conflicts, it can prevent
an Agent from placing legitimate bids in the future. Allowing
an Agent to bid knowing it could be bidding for conflicting
jobs will cause more churn during the scheduling process, but
at least it prevents Agents from sitting out of the bidding
process altogether.
Merge pull request #393 from bcwaldon/agent-locking

Address AgentState raciness
refactor(job): move Conflicts to Job instead of Unit
refactor(event): Drop EventListener construct
Merge pull request #399 from jonboulle/requirements

refactor(job): move Conflicts to Job instead of Unit
Merge pull request #397 from bcwaldon/drop-EventListener

refactor(event): Drop EventListener construct
refactor(registry, tests): make keyPrefix configurable

Previously all registry access was hardcoded to a specific prefix
(/_coreos.com/fleet). This makes the endpoint configurable through both
fleet and the client. Accordingly, the functional tests are updated to
take advantage of this, which means they should no longer conflict with
any instances of fleet which happen to be running in the environment
used for functional testing.
s/KeyPrefix/EtcdKeyPrefix/ + rebase
refactor(*): move default key prefix to registry
tests(fleetctl): add tests for parseEndpoint
refactor(fleetctl): split out etcd key prefix to another option for fleetctl