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.