Split database_grant up

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`
Reindent postgresql::database_grant spec
Update readme
Merge pull request #208 from hunner/add_grants

Add grant abilities for more that databases