Refactor rpc backend configuration logic

This commit also changes the following:
- Fixes Nova QPID module path
- Fixes a bug Cinder ZeroMQ RPC points to nova module
- Adds ZeroMQ setting for Heat RPC

qpid_is_supported is moved from functions to lib/rpc_backend.

This work is based on the work by Isaku Yamahata <yamahata@valinux.co.jp>
in https://review.openstack.org/#/c/19074/.

Change-Id: I45e21b1fb85e539213f5243764132a37906d7455
Remove error from httpd/apache on unstack.sh

Fedora/RHEL use httpd for the package name of httpd.  This is handled
in other parts of the horizon startup code, but not in shutdown.

Change-Id: I2732dad652d83a9cbe055f5f077678b7111ca782
Fixes: bug #1099538
Improve quantum l3 and tempest config.

 * Previously, configuration for the q-l3 agent was creating a
   tenant-owned router.  This change maintains that behaviour if
   namespaces are enabled, but creates a public (not tenant-owned)
   router if namespaces are disabled.  Since the L3 agent can only
   manage a single router if namespaces are disabled, the change
   ensures that the single router can be shared by multiple tenants.
 * Add tempest configuration for the public router.

Change-Id: I2878a7eb9797bfd71082a55d4773519dc5198abc
Merge "Improve quantum l3 and tempest config."
Merge "Refactor rpc backend configuration logic"
Merge "Remove error from httpd/apache on unstack.sh"