Alter escaping in postgresql::config::afterservice

This allows non-standard users (pe-postgres) to change passwords. Also
added a function to do escaping of the password, added system tests
and rspec tests for the function.
reverting path on exec
amending the unless on the exec for quoting also
modified tests
(GH-216) Alter role call not idempotent with cleartext passwords

The postgresql::role defined type was not idempotent when passed cleartext
passwords. This is because we were comparing it with its md5 equivalent in
the db.

This patch converts any cleartext passwords to md5 before comparison, but
only if they are cleartext (ie. not starting with md5).

I also bumped the version of rspec-system-puppet to get use of the refresh
method, plus did some cleanup because the old tests were a bit dusty, again
taking advantage of refresh plus changing some matchers for clarity.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #225 from kbarber/ticket/master/GH-216-alter-role-not-idempotent

(GH-216) Alter role call not idempotent with cleartext passwords
Release 2.4.1

This updates the Modulefile and Changelog for release 2.4.1.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #228 from kbarber/release-241

Release 2.4.1
Add README entry for postgresql::plperl
Fix postgresql::plperl documentation
Merge pull request #229 from mcanevet/plperl

Add README entry for postgresql::plperl
Merge pull request #218 from fiddyspence/set_postgres_postgrespw

Alter escaping in postgresql::config::afterservice
Use boolean for refreshonly

Puppet::Type supports `:boolean => true` to create a
`resource.<property>?` method that is true or false based on the
`:true`, `:false`, `true`, or `false` value of the parameter.

This will allow accurate assesment of the refreshonly attribute for
testing.
Add specs for psql Type and Provider
Merge pull request #212 from hunner/handle_refreshonly

Handle refreshonly correctly