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.
Config Changes for thinning of Neutron Plugin

- Added extension code to handle neutron requests for network API
- config_db from neutron is moved to neutron_plugin_db.py in config-extensions
- neutron_plugin_interface.py handles the plugin API requests in cfgm
Merge pull request #663 from Juniper/praneet_new_ncompat

Config Changes for thinning of Neutron Plugin
Schema changes for port api
Merge branch 'config-devel' of github.com:Juniper/contrail-controller into config-devel
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
get_network and get_network_count now use the /neutron/network URL
Merge pull request #682 from Juniper/praneet_new_ncompat

get_network and get_network_count now use the /neutron/network URL
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