Add support for headless vrouter.

In headless vrouter, even after death of all control nodes, agent does not flush
off configs/routes and continue to work with last known good configuration
(which is the information sent by last stable control node).
The information is amrked as stale and agent continue working with same.
When a new control node comes up agent will flush off the stale data and use the
information sent from new control node. Flushing of data is timer based so that
instability of new control node can be handled and due time can be given to
exchange the information (config + route paths).
Along with headless mode changes, non headless mode has been retained. Though by
default agent works in headless mode.

Other than headless mode this commit also caters to re-org of controller
subscription code in agent which essentially involves using common route walker.