* Re-arrange to use the command feature.
* Add the --update and --nokeep options to fetch
* Global configuration file
* Command: 'list' - List the existing local templates
** Option: '-r' - List remote templates.  (Make this, DO NOT ENABLE)
* Command: 'fetch' - Get a template, do not run it.
* Feature: DESCRIPTION.md in the template root for the list option
* URL Hash as a replay target, to avoid trying to encode the URL as path
* See if the Go template language has date handlers, figure out how to 
  parse that.
* Does Viper return TOML, JSON, and YAML files in order? Consider
  Progressive Parsing of configuration (earlier keys with hard values can
  be substituted for later keys with templated values.)
* Cascading rules for applying keys and values to templates
* Add TGZ, tar.bz, tar.xz, zip to list of capabilities.
* Figure out your list of commands, including the default.
