SERVER-15080 Move HeartbeatResponseAction and TopologyCoordinator::Role for readability.

HeartbeatResponseAction moves to its own file and becomes a top-level type,
because it is sometimes useful to have its definition without that of
TopologyCoordinator, and because it clutters the TopologyCoordinator class
definition.  TopologyCoordinator::Role gets defined at the end of the
topology_coordinator.h header, so it also does not clutter the
TopologyCoordinator class definition.