Remove extraenous subscribe from config file

I'm 99% sure that a `subscribe` has no effect on a file. You can't notify a
file resource to be evaluated - they are always evaluated. The chaining in
`init.pp` ensures that `::install` always happens before `::config`.
Install to Python virtualenv

Install Graphite, Carbon, Whisper, and (nearly) all dependencies into a
virtualenv using the `stankevich/python` module. This retains the same
sandboxing that `--install-option`/`--prefix` was doing, but with the added
benefit of:

- Allowing the version param to upgrade and downgrade the packages without
  writing the `pip` logic ourselves.
- Isolating dependencies from the system's Python/pip paths.

Absolute binary paths are used to reference the virtualenv without needing
to `source bin/activate` each time. Cairo is shimmed into the virtualenv
from the system package because of the reasons described in the class doc.
I've rebased the dependencies against Graphite's `requirements.txt` to
reference specific versions and dropped:

- LDAP support: because it has compile dependencies and I'm not aware of
  anyone currently using this functionality from the module.
- pysqlite2: because Python >=2.6 has this builtin.

I'm using an earlier version of the `python` module because of the following
bug which causes the virtualenv to be recreated on every run:

- https://github.com/stankevich/puppet-python/issues/46

Tests will be committed separately because they depend on refactoring
currently in unmerged PR #16.
Prevent carbon/graphite from being reinstalled

Caused by and workaround taken from:
- https://github.com/graphite-project/carbon/issues/86
Add tests for virtualenv changes

New fixture. Changed paths. No longer testing every package in `::deps`,
since it's a bit pointless.
Virtualenv support for carbon-aggregator

Use binary from virtualenv to load correct search paths.