Add X-TENANT-ID header to the metadata request sent to nova api
Unit test cases for VN UVE
A new UVE message is added in collector to keep track of the sandesh
messages statistics per minute. Current counters track only the running
sum since epoch.
Code changes:
A new UVE sandesh message is added in collector_uve.sandesh
In generator.cc, functions to update the statistics counter for
each messages and get the per minute statistics for each mesasge
is added.
In collector.cc, a function that gets called every min to get all
the stats collected from each generator is provided. After that it
gets sent.
call extension's pre-delete method before reading obj. so in case of proj delete, extension can delete the default security group and it won't be refcounted for delete
Merge remote branch 'upstream/master'
Changes made in generator.h to make the vaiables atomic.
The variables are being read/written by different threads
and to avoid any consistency problem, making it atomic
Merge pull request #233 from Juniper/arvind-sandeshstats

A new UVE message is added in collector to keep track of the sandesh
need to make cassandra listen on a unique cql port, otherwise multiple UT runs will clash
Merge pull request #238 from Juniper/contrail_status_fix

need to make cassandra listen on a unique cql port, otherwise multiple U...
Unit tests to verify relative_time were not calling the parse_time
function in query.cc as expected. Changing the way we post query
made the the function to be called properly. Also the UT has been
added to check OBJECT_VALUE_TABLE.
Code changes:
Query class has been moved from perftest.py to analytics_fixture.py
as it is used elsewhere and util would be a proper place.
Instead of query query_json objects are called so that passed parameters
are not interpreted by the util scripts before calling the actual functions.
Test:
Coverage report shows the parse_time function being referred in query.cc
Merge remote branch 'upstream/master'

Conflicts:
	src/vnsw/agent/oper/operdb_init.cc
GDB macros for task library
Merge pull request #241 from praveenkv/master

GDB macros for task library
Get project uuid from Nova vif driver and use that while proxying for metadata
Merge remote branch 'upstream/master'
Add unit test cases for VM UVE
Merge pull request #242 from ashoksr/master

UT for VN and VM UVE
Use UuidToString instead of using stringstream
Merge pull request #239 from Juniper/arvind-coverage

Unit tests to verify relative_time were not calling the parse_time
All boost async operations need to occur in the context of the same task i.e.
the task that is executing run(). In our case, its the main task.
io_service.post() guarantees that the handler will only be called in a thread
in which the run(), run_one(), poll() or poll_one() member functions is
currently being invoked. But, there are no guarantees wrt to ordering.
Using strand.post() guarantees the thread and also has some ordering
guarantees. In our case, we have the main-task and sm-task that are competing.
Intuitively, it makes sense to enforce ordering of callbacks since the events
triggering the callbacks are ordered and this is a state-machine where the same
event in a different state could cause issues. So, we will use strand.post().
Also, adding a small macro to check if we are running in the context of the
main-task and using it to check that we are in the right context while
executing the boost-async calls.