https://issues.apache.org/jira/browse/AMQCPP-511

Implements most of the basic bits of a Discovery Agent in an Abstract
class so that the agents can be simpler drop ins.