Stop using intersphinx

Remove intersphinx from the docs build as it triggers network calls that
occasionally fail, and we don't really use intersphinx (links other
sphinx documents out on the internet)

This also removes the requirement for internet access during docs build.

This can cause docs jobs to fail if the project errors out on
warnings.

Change-Id: Ie70e400478a092943a18f9f8595302380ec71cbc
Related-Bug: #1368910
Jobboard example that show jobs + workers + producers

Add a new example that spins up a set of threads to simulate
the actual workers and producers that would be normally attached
to a jobboard and use these threads to producer and consume a
set of simple jobs (that are filtered on by the workers).

- This also fixes how python3 removed the __cmp__ operator which
  we were using for sorting the jobs that were posted and now we
  must use __lt__ instead.

Fixes bug 1367496

Part of blueprint more-examples

Change-Id: Ib8d116637b8edae31e4c8927a28515907855f8bf
Rework the state documentation

Make the state documentation easier to understand, more
clear, and better stated than what existed before this
commit so it is easier for users to read, use and
interpret.

Change-Id: I0285bfe332c6e968626719f14049a9533d066d86
Merge "Rework the state documentation"
Merge "Jobboard example that show jobs + workers + producers"
Merge "Stop using intersphinx"
Avoid usage of six.moves in local functions

Currently it appears that using six.moves in threaded code isn't
working as expected (something there in six does not appear to
be thread safe) so until this is fixed avoid using those moves
in functions in the examples and in the utility code (and instead
import the moved function at the top of the module in code to
avoid any threaded usage problems).

Upstream bug filed at:

https://bitbucket.org/gutworth/six/issue/98/

Fixes bug 1377514

Change-Id: I3fc1819df8fb42d0c3d394bbc7d047b09152af68
Merge "Avoid usage of six.moves in local functions"
Switch to a custom NotImplementedError derivative

When a feature or method is not implemented it's useful
to throw our own derivative of a NotImplementedError error
so that we can distingush these types of errors vs actual
usage of NotImplementedError which could be thrown from
driver or user code.

Change-Id: I8d5dfb56a254f315c5509dc600a078cfef2dde0b