Use argparse as optparse is deprecated.

Also change the --validate option to match the variable name use in the
program, as it makes it easier for a user to map intentions to actual
code.
Add default templates path

Also shows defaults in --help for all options now.
add --print-templates option

This will let elements easily find where to drop their template files.
Merge pull request #2 from tripleo/ARG-PRINT-TEMPLATES

add --print-templates option
Add default value to arguments to main:

so that `os-config-applier` works immediately after a pip install.
Add --subhash to use a sub-scope of metadata:

For example, if the metadata is {"a": {"b": {"c": "d"}}},
then `--subhash a.b` will use only {"c": "d"} instead of the
full hash.
Allow printing of metadata values with '--key KEY':

Print a key from the metadata file. the key may be nested
arbitrarily deep.

Pass --type=<int|default|raw> to raise an error if the requested
value does not conform to the type.
Merge pull request #4 from echohead/key-types

Allow printing of metadata values with '--key KEY --type TYPE'
Fix printing stack trace while running tests
Test subhash
Pass subhash option to install_config
Adding Travis-CI support
Make travis-CI python 2.6 jobs work
Disable Python 2.6 CI until someone asks for it
Adding IRC notifications for travis CI
Atomically replace files
Pass all flake8 tests - run in CI too
Ensure config files are readable by all.
Render complex sub-objects using json.dumps

Normally pystache will just use the python unicode representation of
objects. This is not very useful programatically. Rendering using json
makes these values more useful.