zpmlib: switch to YAML instead of JSON for config file

The YAML format for much cleaner and easier to use for hand-written or
hand-edited configuration files. There are two main reasons for this:

* YAML files require less quoting than a JSON file

* YAML supports comments which will allow us to guide the user much
  better than with a JSON file
doc: replace JSON with YAML
zar_tmpl: reorder keys in template

The name of a group identifies the group, so it makes sense to me to
put it as the first key.
zar_tmpl: add comments
zar.yaml: extract template from zpmlib.zpm
Merge pull request #85 from mgeisler/yaml

Switch to YAML for ZAR config file
zpm: make render_zar_yaml non-private

It had a few callers and I'm not sure it needs to be private.
zar.yaml: nest group correctly

By mistake, zar['execution']['groups'] was a dict since 4d4e65e2931a.
It is now again a list of dicts as intended.
doc: sync YAML example with real template
Merge pull request #86 from mgeisler/yaml

YAML fixes
zpm: refactor long-ish line

This line will grow longer when zar is replaced with zapp.
Use "zapp" instead of "zar"

Compared with "zar", "zapp" is easier to pronounce and sounds better.
It is short for "ZeroVM Application". We might reuse "zar" again in
the future for a more generic "ZeroVM Archive" -- archives that cannot
be executed directly, but which contain libraries or data.
zapp.yaml: use "zapp", not "ZAP"

We should always use the double-p version.
Lowercase "zapp" everywhere

If we want to make "zapp" a word like "package" or "module", we should
write it in lowercase everywhere. That will make the term seem like an
ordinary word.
Merge pull request #87 from mgeisler/zapp

Use zapp instead of zar everywhere
ignore: add coverage.xml, produced by tox
ignore: add *.bak
Merge pull request #89 from mgeisler/ignore

Update ignore file (ignore coverage.xml, *.bak)
tox: explicitly test with Python 3.2 and 3.3

We've had a number of issues with subtle differences between Python
version 3.2 and 3.3. Python 3.2 is what Jenkins had installed (it's
part of Ubuntu 12.04 LTS) and Python 3.3 is what Lars and I had
installed locally.

We've now installed Python 3.3 on Jenkins as well and can thus
explicitly add test coverage to that version. Older and newer versions
of Python for Ubuntu can be found here:

  https://launchpad.net/~fkrull/+archive/deadsnakes

For Debian, you can enable more than one distribution at the same
time, e.g., enabling wheezy and jessie (testing) at the same time.

If you don't have all the Python versions installed, tox will report
this in the summary:

  $ tox
  # ...
    py27: commands succeeded
  ERROR:   py32: InterpreterNotFound: python3.2
    py33: commands succeeded
    pep8: commands succeeded
    pyflakes: commands succeeded
    full: commands succeeded
    doc: commands succeeded

This should make it clear for contributors exactly which Python
versions we support.
tox: add Python 3.4 as a supported version