Fixes edge-case with dropping pre-existing users with grants
Fixes edge-case with dropping pre-existing users with grants

If a user exists in the database upon first Puppet run (for example, in the case of loading a database snapshot) and the run sets that user's :ensure attribute to 'absent', the mysql_grant provider will throw an error when the dependency chain causes it to try to destroy the grants associated with that user because the DROP statement from the mysql_user provider already removed the grants. To fix, we must check if the user exists before revoking the grants.

igalic/puppetlabs-mysql,breuninger-ecom/puppetlabs-mysql,squarit/puppetlabs-mysql,jbondpdx/puppetlabs-mysql,markasammut/puppetlabs-mysql,Adaptavist/puppet-mysql,puppetlabs/puppetlabs-mysql,simp/puppetlabs-mysql,hundredacres/puppetlabs-mysql,edestecd/puppetlabs-mysql,DavidS/puppetlabs-mysql,puppetlabs/puppetlabs-mysql,breuninger-ecom/puppetlabs-mysql,skyscrapers/puppetlabs-mysql,apa-it/puppetlabs-mysql,jbondpdx/puppetlabs-mysql,markasammut/puppetlabs-mysql,ndelic0/puppetlabs-mysql,edestecd/puppetlabs-mysql,simp/puppetlabs-mysql,rdo-puppet-modules/puppetlabs-mysql,hundredacres/puppetlabs-mysql,skyscrapers/puppetlabs-mysql,DavidS/puppetlabs-mysql,ndelic0/puppetlabs-mysql,Adaptavist/puppet-mysql,breuninger-ecom/puppetlabs-mysql,igalic/puppetlabs-mysql,apa-it/puppetlabs-mysql,squarit/puppetlabs-mysql,fuel-infra/puppetlabs-mysql,rdo-puppet-modules/puppetlabs-mysql,fuel-infra/puppetlabs-mysql