Add management of user name maps

This PR adds the capability to manage [user name maps](http://www.postgresql.org/docs/8.4/static/auth-username-maps.html) in pg_ident.conf. If the system user is not the same as the database user, you can create a mapping. Most of the time, you need this for external authentication.

I have added a new type *pg_ident_map*, which manages a single map entry in pg_ident.conf.
Most of the work is based on the pg_hba_rule type as they have quite much in common.
It is still possible to manage the file in a different way by setting *postgresql::globals::manage_pg_ident_conf* to false.

This is also of use for #287, because it allows to map X.509 certificate subjects to database users.