Add new parameters to webapp::python::instance to override defaults

This patch introduces the option to override the `venv` and `src` directory.

Sometimes the source doesn't have the expected layout defined by convention
and you have to override well chosen defaults in favor of getting your recipes
work.

Here is an example of how I'm using this change:

```
  webapp::python::instance { "webapp-foo":
    domain => "foo.example.com",
    wsgi_module => "bar.app",
    requirements => true,
    requirements_path => "/home/foo/foo/test-requirements.txt",
    src => "/home/foo/foo/bar_pkg",  # bar_pkg lives inside a git repo
    venv => "/home/foo/venv",
    environment => {},
    require => [ Vcsrepo["/home/foo/foo"] ]
  }
```

The files layout is like this
```
foo/
├── bar_pkg
│   ├── bar
│   │   ├── app.py
│   │   └── __init__.py
│   └── setup.py
├── README
└── test-requirements.txt
```