Fix bug causing grant_exists to always return false as the privilege string being tested was wrong
This is a fix to the mysql equivalent of Bug #1187508. If the service connecting to the db node has multiple units then each unit in the client service thinks it has access to the db when shared-db-relation-changed runs for the *first* time because the hook does a relation set with the password. However, each unit needs to wait until shared-db-relation-changed has run with its context otherwise its acl entry hasn't been created. I have added an allowed_units setting which has a list of units whose acl entry has been added
If multiple dbs are being used set a allowed_units var for each
Fixed lint
Fixed bug causing slave-relation-changed to fail when constructing the allowed list when multiple dbs were specified
[gnuoy,r=james-page,t=james-page] Set allowed_hosts data on shared-db relations

Set a list of allowed_units which the client units can query to see if their permissions have been setup yet. The reason for this is to allow the client to work around a race condition which occurs when a service has multiple units:

1) A service consisting of multiple units joins mysql and triggers mysql to run shared-db-changed for each unit in turn. But as soon as shared-db-changed has been run for the *first* time mysql runs relation set publishing the password.

2) All units in the client service then run their shared-db-changed hook in response to the relation set that mysql issued when it did the *first* run of shared-db-changed. At this point permissions have only been granted to one unit and the rest will fail if they try and access the db.

This is the same behaviour as the postgres charm which was added in response to Bug #1187508