Changed DSE to use eventlets rather than threads

Implements: blueprint dse

The current problem is that the DSE uses threads rather than
eventlets. This problem has two main issues that make it a
problem. First, the rest of Congress uses eventlets instead
of threads. The DSE should follow what the rest of Congress
uses and also use eventlets. The fix for that problem is to
make the DSE use eventlets rather than threads. The second
problem is that threads are not very scalable in Python and
there is a lack of performance because of Python's GIL, which
only allows one thread to execute at a time. That is not
useful in the situation of the DSE since we want multiple
lines of code to execute at a time because multiple services
are running at once. The fix for that problem is also to
switch the DSE to using eventlets rather than threads.

The fix for these two problems, which this change does, is to
change the DSE to use eventlets rather than threads. Instead of
the d6service class inheriting from threading.Thread, it now
inherits from eventlet.greenthread.GreenThread, which makes d6service
now an eventlet rather than a thread. This will fix scalability
issues as I mentioned above, and also make the DSE use eventlets
like the rest of Congress does.

Changed the implementation so that the spawning of the green
threads is hidden from the user and they can initialize a
service by just using: Service() instead of having to use
deepsix.SpawnService(Service).

Change-Id: Ib9c62e3942f1127bb58b398a98f2844bf7669869
Merge "Changed DSE to use eventlets rather than threads"