Add a thread + futures executor based executor

The concurrent.futures module is one of the ways
that async activities can be done in the future,
so we should try to work on getting to that future
by using more futures. To enable this (as well as
to enable getting off eventlet), add a thread pool
based executor which will process incoming messages
using the pool.

Also begins adding according docs as well for the
different types of executors that are available.

Change-Id: I1482fd70abbf69f4e2994597c5e95d91fecb815e
Enable IPv6-support in libzmq by default

Change-Id: I53790e5492ebf026e0b331ecb3c294da89603540
Closes-Bug: 1389137
Merge "Add a thread + futures executor based executor"
Merge "Enable IPv6-support in libzmq by default"