Idempotency, added vagrant and some other fixes.

templates/master.conf.j2:
- Now using version_compare
  http://docs.ansible.com/playbooks_variables.html#version-comparison-filters)
  for helping us compare postgres versions in template files without having to
  care about quotes. Apparently, ansible treats '9.1' and '"9.12' differently
  if comparing equalty (==). With version_compare that is no longer a problem.

handlers/main.yml:
- Now passing pg_version as an argument to service restart, so that we only
  restart the version we're managing. There might be more than one installed
  in the host and, therefore, without passing the current version, we'd
  restart all of them.

tasks/main.yml:
- Add one specific tag per "group of tasks", so that we can easily skip or only
  execute on specific set of tasks, such as "postgres_cluster" or
  "postgres_config";
- Fixed service start pattern, so that it triggers only for our current version
  and cluster;
- Only update cache if it's older than an hour.

tests/*:
- Added Vagrant-based tests, with idempotency checks. Run them with test.sh.

.gitignore:
- Ignore .vagrant dir.