Make unittests more resilient if setup fails gracefully
ThriftHandlerTask verifies MODULE.Iface is implemented

In initTask(), ThriftHandlerTask will now verify that it implements all
the methods on MODULE.Iface.
Fix test failures from fb303 implementation breakage

Now that we verify method implementations, this test is failing since
our fb303 handler doesn't implement getCpuProfile.  Let's implement it

Fixes #17
TServerSocket API compatibility with fbthrift
Improve support for v6 thrift hosts.
Updated CHANGES for recent changes
Better support for multi-TServerSocket

Some thrift implementations have support for multiple handles per
TServerSocket.  Let's use that API if the old ones are not available.
fb303.getCpuProfile takes a duration in seconds as a parameter.
py3k fb303 compatibility

Even though thrift doesn't support py3k, let's use six's iteritems
instead of iteritems directly.
ExportedValues API

This is a popular API like counters, but for arbitrary data.

The current implementation is only on VService, but I could see this
being useful to be implemented more like Counters.

That said, I'd like to clean up the counters/options/etc implementation
before introducting other things that might look more like them.

Test Plan: Added some new unittests to test_vservice to make it work
properly.