Simplify getting an optional key from a dict with a default value.
Added support for JSON input files.
Converted cascading if-then-else into a map of extension -> ctor.
Added sample uses of Python and YAML configs.
Refer to settings.sh and run.py relative to `dirname $0` instead of `.`.

This lets us run the script from any directory, rather than only from the root
of the repository.
Removed the implicit default config of `ambari.yaml`.

This is problematic because a user might not be expecting to bring up an Ambari
cluster as part of running the tool, and also, Ambari config requires running
`make` to generate the startup scripts first, so this avoids confusing errors.

From now on, users will have to explicitly specify which config they want to
run, which will make even more sense as we build up a library of configs and
having it default to Ambari will become even more perplexing.
Simplified handling of pseudo image map; minor cleanups.
Added README for examples and links to examples + app catalog from main page.
Merge remote-tracking branch 'upstream/master'
Don't strip comments that are hashbang lines like #!/usr/bin/bash
Raise a more user-friendly exception.
Jsonnet now assumes relative paths are relative to the current file, not the $PWD.