postgresql_user: Add support for PUBLIC

This change enables users to add and remove permissions to all roles,
using the PUBLIC user. This is equivalent to using the PUBLIC keyword
in GRANT and DENY postgres SQL commands.

For example, see: <http://www.postgresql.org/docs/current/interactive/sql-grant.html>

Fixes #1833
Add documentation about PUBLIC user
Merge pull request #2128 from lorin/postgres-public

postgresql_user: Add support for PUBLIC
mail module: properly set charset
sysctl module: fixed issue when checks_after fail on comparing keys with values separated by white strings
sysctl module: fixed issue when checks_after fail on comparing keys with values separated by white strings
Merge pull request #2131 from lessmian/sysctl_module

sysctl module: fixed issue when checks_after fail on comparing keys with...
Merge pull request #2130 from lessmian/devel

mail module: properly set charset
Fix #2125 and clean up a few things along the way
Don't consider packages missing from the cache an error on remove

Fixes #2017.
Always adjust file attributes with the template module.