Add more context when no feature scenarios

When checking the results of a smokey run; if there are no features in a
scenario then provide a bit more context.
Merge pull request #554 from alphagov/smokey-feature-exception

Add more context when no feature scenarios
Update puppet-collectd commit hash

The branch has been rebased on upstream.
Set up postgres secondary

- Factor out postgres stuff into it's own module
- Set up streaming binary replication

Note that this does not cover getting the primary's database onto the
secondary and getting it up to speed.
Live clone of postgres database

This introduces a script that can be run on a new secondary to bring it
up to speed with a primary without having to take the primary down.

On the priamry the checkpoint_segments and wal_keep_segments have been
increased to allow the secondary to catch up on writes that happen
during it copying the data over.

A login user has been introduced on the primary as well, as that is
needed for the pg_basebackup command.

This is modified slightly from
http://www.rassoc.com/gregr/weblog/2013/02/16/zero-to-postgresql-streaming-replication-in-10-mins/

I've gone with syncing to a separate directory and then rsyncing to
preserve things like the certificate and recovery.conf

This includes some fixes that @timmow noticed around rsync.
Set pp_postgres::server in primary/secondary def

The classes depend on pp_postgres::server so it should be explicit in
their definition.
Factor out a pp specific hba rule define

This wraps up some common defaults for the performance platform to both
reduce duplication and avoid the risk of bad configurations.
Remove redundant postgres code from performanceplatform

It has moved into the pp_postgres module.
Remove redundant comment
Add link to PostgreSQL docs for HBA conf
Merge pull request #556 from alphagov/update-collectd-hash

Update puppet-collectd commit hash
Update rspec-puppet to 1.0.1

Pin rspec because rspec 3 has a load of deprecation notices relating
to custom matchers.
Set osfamily during tests

This gets around modules that check the platform of the thing
they're running on and then fail.
Add basic test for DNS class

Ensure that the file is formatted correctly.
Upgrade puppet-lint

- Always report on the problems
- Remove the disable of the double quoted string check
Merge pull request #558 from alphagov/testing-and-linting

Improved testing
Merge pull request #555 from alphagov/feature/postgres-replication

PostgreSQL streaming replication
Fix ordering of postgres classes

The postgres lib devel class must not be included until after our
postgres primary class, as it inherits from postgresql::globals, and we
need to change the paramaters of this from within pp_postgres_server
Merge pull request #559 from alphagov/fix-development-vm-provisioning

Fix ordering of postgres classes
Add basic postgres collectd metrics

- query_plans collects the numbers of various table scans and returned tuples of the user tables
- queries collects the numbers of various table modifications (i. e. insertions, updates, deletions) of the user tables
- table_states collects the numbers of live and dead rows in the user tables
- disk_io collects disk block access counts for user tables