bundle: rewrite to use a zar.json file

The bundle command now walks up to the project root automatically. It
then packs all files referenced in the "bundling" section of the
zar.json file. This is a list of glob patterns which are expanded
relative to the project root.
add new deploy command

This command uploads a zar to Swift and executes it (executing it is
just for testing at the moment). The Swift credentials are taken from
the command line or from the following environment variables:

* OS_TENANT_NAME
* OS_USERNAME
* OS_PASSWORD
* OS_AUTH_URL

These are the same variables used by the Swift command line client.
zpmlib: fix print for Python 2.x

Since 'print' is a statement in Python 2.x, 'print(foo, bar)' prints a
tuple, not just a string. Using string interpolation to pass a single
string to 'print' gives proper output in both Python 2.x and 3.x.
bundle: upload zar just once

Before, the zar would be uploaded once per group of nodes. We now
upload it just once and refer to it in all the groups.
deploy: extract function for generating job description
new: don't create ini-file templates

We might replace this with a JSON template in the future.
remove unused functions

The make_tar and get_tars_from_zar_ini functions referenced the old
ini-file format.
deploy: guard execution with cmdline flag
commands: register cmdline arguments using decorator

A new arg decorator captures the arguments that will be passed to
ArgumentParser.add_argument later.
commands: document command decorator
Merge pull request #25 from mgeisler/zar-json

Move towards using a zar.json file
Merge pull request #26 from mgeisler/refactor-cmdline-args

Refactor cmdline args
gitignore: ignore htmlcov/ and junit.xml

These test report artifacts should never be in version control.
Merge pull request #33 from larsbutler/test-output-ignore

gitignore: ignore htmlcov/ and junit.xml
doc: add Sphinx skeleton
ignore Sphinx output directory
doc: document top-level commands

This is just a rudimentary way to document the top-level zpm commands.
We'll use a better tool that understands argparse in the future.
commands: add stub docstring to deploy
doc: use more light-weight haiku Sphinx theme

We should eventually customize this further to better match the
zerovm.org.
tox: add doc environment

Using tox to run Sphinx makes it easier to setup Jenkins since no
setup is needed: Jenkins already runs tox on all the default
environments.