Add Middleware for correlation_id

The middleware generates the 'correlation_id' if it is not already present
in the request header. This 'correlation_id' can be used to enable more
effective debugging of requests that span multiple services.

Implements: blueprint create-a-unified-correlation-id

Change-Id: Ibc06a5b05b628e0b640e9299c79127ecbf9c684e
Merge "Add Middleware for correlation_id"
Allow RPC_API_NAMESPACE on RpcProxy objects

This allows one to subclass RpcProxy for use with a particular
namespace without having to repeatedly pass the namespace into the
make_namespaced_msg() method.  This new RPC_API_NAMESPACE attribute will
be used for the make_msg() call.  It is defaulted to None to match previous
behavior.

Change-Id: Ied62df839cda0be6f9f9b060bbfc22e086f61be8