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.