commands: add `--template` flag to `zpm new`

This includes the default template of `python`. Functionally, nothing
changes. `python` is the default (and only template).
templates: add project_type to zapp.yaml templates
zpm new: pass template arg to `create_project`
zpm: use zapptemplate to create proj template

This removes a lot of the complexity from the `zpm` module and relies
instead on the `zapptemplate` module for doing most of the work in
creating zapp.yaml and other project files.

This also integrates the `zpm new --template <template>` switch in the
project creation code.

Tests are modified to reflect this change. Some obsolete tests are
deleted.
zappbundler: initial commit of bundling util

Currently just has python project bundling utilities, which mostly
handles fetching and bundling 3rd party pure Python dependencies.
Integrate project type-specific bundling
Add `--refresh-deps` option to `zpm bundle`

For the python project bundling template, if --refresh-deps/-r flag is
`True` we recreate the tox-managed venv from which we bundle 3rd party
python dependencies.
zapptemplate: add TEMPLATE_DIR constant
zapptemplate: move tox.ini template to constant
Add tests for `zapptemplate` module.
zpm: fix bundling so that cwd does not matter
Add tests for zappbundler module