bundle: generate job description template (fixes #29)

The template is generated by 'zpm bundle'. For a zar called foo.zar,
the job description is included as foo.json in the root of the
tarball. Later, we might want to create a reserved directory for such
meta data.

To keep 'zpm deploy --execute' working, it will now load the job
description from the zar instead of generating it. The job description
template is then filled in with the Swift URL of the zar before the
job is executed.
bundle: simplify including zar.json in zar
bundle: include ui files in zar
deploy: upload job description template to Swift
deploy: upload UI files to Swift
ignore *.orig files

These files are created when there are merge conflicts.
bundle: generate HTML template if necessary (fixes #28)

This changes bundle to include an index.html file if the zar.json
doesn't already specify UI files.

The index.html is generated from a Jinja2 template. This template
language is quite simple and it is widely used (it is inspired by
Django) which means there is a big community around it.

When a zar is deployed, the UI files are again run through Jinja, this
time to expand deployment specific parameters, most importantly the
auth_url needed by the JavaScript. The default template also inserts
the *username* and *password* you use for deployment. Consider this a
hack to make testing easier.
setup.py: peg jinja to version <2.7

This is needed for Python 3.2 compatibility. 2.7 works with Python 3.3,
but since we're targetting Ubuntu 12.04 LTS as our supported platform
for the time being, we're stuck with Python 3.2.
Merge pull request #1 from larsbutler/jinja-python3-compat

setup.py: peg jinja to version <2.7
Merge pull request #40 from mgeisler/upload-web-ui

Generate web ui if zar.json doesn't specify one