Add db::mysql and db::mysql::host_access to openstacklib

The openstacklib::db::mysql resource is a library resource that can be used by
nova, cinder, ceilometer, etc., rather than replicating equivalent
functionality across all of these modules.

This resource reimplements most of the functionality of the puppetlabs
mysql::db resource. The primary purpose of writing this code from scratch
rather than using the mysql::db resource is to allow the use of a password
hash rather than a plaintext password as a parameter. Other differences from
the mysql::db implementation are:

* It does not have an ensure parameter, we will assume the db should be present
* It does not accept and execute arbitrary SQL because the db sync exec manages
  the state of the db
* It does not use ensure_resource because the database and user should only be
  created from within this resource and creating them elsewhere should be an
  error

Implements: blueprint commmon-openstack-database-resource

Change-Id: I76bd93d1579179932d1f48cea4bb80a2576a7fba
Merge "Add db::mysql and db::mysql::host_access to openstacklib"