This change imports the "coordination" module, which is shared by
Cinder, Manila and a few other projects. At some point, it should
probably be submitted to oslo.
It uses tooz, an OpenStack library, in order to provide distributed
locks. Tooz supports various backends, such as etcd, mysql, file
locks, redis, zookeeper, etc.
The lock backend can be selected using the CONF.coordination.backend_url
config option.
A subsequent change will use distributed locks for the cluster driver,
preventing race conditions when handling failovers.
Related-Bug: #1796673
Change-Id: I5a7d79fe1cf6ce13ff9d20d7618886add6221300