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.
Address review comments.
Add headless agent mode in config ini file and arguments. By default disable
headless.
Also make test more robust by converting checks to wait_for checks, also issue
timer fire from test after stopping taskscheduler.
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.
Address review comments.
Add headless agent mode in config ini file and arguments. By default disable
headless.
Also make test more robust by converting checks to wait_for checks, also issue
timer fire from test after stopping taskscheduler.
rebase conflicts
rebase resulted in dual inclusion of function declaration, fix it
Catch thrift exceptions in Event Manager run and ignore them
fix valgrind errors
[geventhttpclient] Remove strong dependency to geventhttpclient>=1.0a

We can remove the strong dependency on 1.0a, Deepinder Setia manage this
fix in https://bugs.launchpad.net/opencontrail/+bug/1306715

Refs: http://lists.opencontrail.org/pipermail/dev_lists.opencontrail.org/2014-April/000930.html

And already merged in Juniper/contrail-third-party#16
And for packaging Juniper/contrail-packages#31
Merge pull request #680 from sbadia/geventhttpclient

[geventhttpclient] Remove strong dependency to geventhttpclient>=1.0a
Remove invalid call to Client.open();
Make sure that all uuids are treated as strings;
Internally implement port uuid key as an object so that the key doesn't
depend on whether the caller is using dashes or not in the uuid string.
Merge pull request #683 from Juniper/vrouter_api

Fix issues reported in bug #1310804 comments
Eliminate thrift warnings
Fix #685 vnswad.conf still in code.

rename /etc/contrail/vnswad.conf => /etc/contrail/contrail-vrouter-agent.conf
Merge pull request #686 from junpei-yoshino/fix/rename-config-file

Fix #685 vnswad.conf still in code.
Merge pull request #657 from Juniper/headless-vrouter

Add support for headless vrouter.
exit on unhandled exceptions
Merge pull request #679 from haripk/master

Bug fixes: