Alter superuser, createdb, createrole, login, replication status and the connection limit of a role that already exists

Previously we only created a new user, any updates to the defined resource
would not update the role. This patch adds extra logic to modify a role
whenever a parameter is changed.

System tests have also been added to support this.
Merge branch 'alter_existing_user'

* alter_existing_user:
  Alter superuser, createdb, createrole, login, replication status and the connection limit of a role that already exists