Add grant abilities for more that databases

The code to grant permissions databases and their objects has been abstracted to `postgresql::grant` and is used by both `postgresql::database_grant` and `postgresql::table_grant`

Closes #159