Add Vagrantfile for ease of testing the module

This commit adds a Vagrantfile which can be used to test that the module
correctly installs Graphite.
Make graphite root directory configurable

This commit removes hard-coded references to /opt/graphite and allows
you customise where graphite is installed using the $root_dir parameter.

It also moves third-party dependencies to a graphite::deps class that is
required by the graphite::install module. This ensures that 'pip install
carbon' and 'pip install graphite-web' don't attempt to download and
build system-provided packages themselves, and is arguably cleaner than
adding explicit require directives on every resource in
graphite::install.
Move to gunicorn/upstart server for graphite-web

For sites that aren't using apache, bringing apache in just for
mod_python isn't ideal. The module now installs gunicorn and a suitable
upstart configuration for serving graphite-web with gunicorn on the
specified port.

Using nginx or apache to provide appropriate vhost mappings to the
graphite service is no longer considered the responsibility of this
module.
Rename carbon service to carbon-cache

...thus making way for carbon-relay and carbon-aggregator services in
the future.

This commit also runs carbon-cache in the foreground under upstart in
preference to using the 'expect daemon' stanza.