Added support for reading the user name from environment

By passing env:VARNAME for the user_name parameter,
Shell.main() will read the user name from the environment
variable VARNAME.
Added `repo` command to manage the creation and removal of repos.

closes #7

- added util.confirm()
- added hooks.hook_repo()
- added shell.Shell.DefaultOptions and **options argument
  to constructor to specify options for the naming of
  repositories
- added shell.Shell.run_external() with out=None parameter
  which is passed to the updated constructor of
  StandardCommandRunner
- removed external=False parameter from shell.Shell.run(),
  updated usages