Update oslo incubator code to commit 0b02fc0f36814968

gettextutils
 - de4adbc4 (pep8: fixed multiple violations)
importutils
 - 1173e46981a6d (Remove ValueError when accessing sys.modules)
jsonutils
 - 0d7296f6885 (Add kwargs to jsonutils.load(s) functions)
network_utils
 - 9502a21bfcc (Use the standard python logging in network_utils)
 - e433899db279743 (Enable configuring tcp keepalive)
 - 29a95c2ce11f9 (Avoid raising index error when no host)
strutils
 - cb5a804bd4 (Move `mask_password` to strutils)
timeutils
 - 250cd88c4040c1f9 (Fixed a new pep8 error and a small typo)

Change-Id: I8a4265127d1abf90f0a83e31723490bd0c25e8ae
Remove need to do special exception catching in parse_uri

The upstream oslo incubator code was fixed to not throw a
index error when parts of the uri are missing, so we can
remove our modification that handles these errors and just
rely on the fixed version.

Change-Id: I01c6a647858ca45aeb4685a68cb3e28b575e1e05
Cleanup some of the example code & docs

This commit makes a set of small adjustments to examples.

- Rework some of the comments to be more clear.
- Add links to the original source tree file.
- Rename some of the examples to make it clear the
  concept the example is intented to show.
- Move some common example functionality to the
  example utility file.

Change-Id: I858e0dbf72fe8cb40a05bfdbb0857720ffb71c7f
Allow a jobs posted book to be none by default

Not all users of jobs and jobboards are using the
associated book that accompanies a job, instead they
are fine with just using the name and the details
that can be provided for usage in their application.

Example: http://review.openstack.org/#/c/91763/

To allow the optional usage of books with jobs (which
is already supported) by default set the book to none
and allow it to be provided on a as needed basis.

Change-Id: I69e370a733e44c45c62177008838c259fd9c9a7c
Allow handlers to provide validation callables

In order to reject messages before they are processed
make it possible to provide a handler pair that will
validate the incoming message and either reject or allow
the message to be passed to the provided handler.

Part of blueprint wbe-message-validation

Change-Id: Ibd6ee40020c6b98283f40d5bd59e8950d63b7f71
WBE notification message validation

Add send and receive validation of the notify
message that is sent between executors and workers
to be more robust around invalid message formats
being sent and received.

Part of blueprint wbe-message-validation

Change-Id: I7300d6f2d00e48c4f989c7f958a028bdff4afdd4
WBE response message validation

Add receive validation of the response message
sent by workers for progress updates and for
result completion to be more robust around invalid
message formats being sent and received.

Part of blueprint wbe-message-validation

Change-Id: I583b9d6344224724d147f2a5b10ddbd23d6a5fdc
WBE request message validation

Add receive validation of the request message
sent by executors to workers to initiate work
requests so that we can be more robust around
invalid message formats being sent and received.

Part of blueprint wbe-message-validation

Change-Id: If7fc4c870252b6ef29e626a874e42c82d3879512
Improve WBE testing coverage

Test more of the message pump process and verify
that messages are received and sent correctly by
using a latch type and waiting for the desired
number of messages to be triggered.

Test the full server and executor pipeline by
setting up threads and a in-memory queue/exchange
that is used by these threads for task execution.

Change-Id: I62296f12eee6fa00559e84068ec5ee2a6d4bc0dc
add pre/post execute/retry callbacks to tasks

This enables us to execute code to set up or tear down
global state in running tasks.

Change-Id: Ib1e5d03ab46b3ce1d03fa83b91bf437fa950b758
Implements: blueprint task-callbacks
Merge "add pre/post execute/retry callbacks to tasks"
Merge "Allow handlers to provide validation callables"
Merge "WBE notification message validation"
Merge "WBE response message validation"
Merge "WBE request message validation"
Merge "Update oslo incubator code to commit 0b02fc0f36814968"
Avoid naming time type module the same as a builtin

In order to avoid naming conflicts which can easily
occur if we name our time module as a python builtin
just pick a name that doesn't conflict (it still
retains the same meaning).

Change-Id: Ia19f3776689d2b1f31f7cbfaa15e53f99a3ee900
Merge "Remove need to do special exception catching in parse_uri"
Merge "Avoid naming time type module the same as a builtin"
Merge "Allow a jobs posted book to be none by default"