Convert cells to use a transport URL

Cells currently keeps all inter-cell communication data, including
usernames and passwords, in individual columns in the "cells" table
of the database.  This renders it difficult to specify alternate
transports (e.g., 0mq).  Work is currently in progress to add the
concept of "transport URLs," but the end goal is to remove this data
from the database entirely and store it in a configuration file.

This change adds transport URLs to cells in a very limited fashion;
only rabbit URLs are recognized, and no auxiliary data is recognized.
This cleans up the database table, and will make it easier to move
cell data out of the database and into the configuration file.

Partially implements blueprint eliminate-clear-passwords-from-cells-table.

Change-Id: I6b18f7643ab694f5ff34206b80865c40b1ec2680
*WIP* Load cell data from a configuration file

Cells currently keeps all inter-cell communication data, including
usernames and passwords, in the database.  This is undesirable and
unnecessary, since cells data isn't updated very frequently.  This
change allows cells data to be drawn from a JSON file specified via
a new [cells]cells_config option.  When specified, the database is
no longer consulted when reloading cells data.

TODO:

* Update the cells extension to turn off (return 403?) the create,
  delete, and update operations
* Update the cells extension to call to the cells manager for get
  and list operations, allowing the configuration file to only
  need to be present on the cell manager node(s)
* Update the test suite to test the newly-added code and verify
  behavior when cells_config is provided

Change-Id: I7046ce55a0a294293c1b1a5fb0f092aeb891ee01