Add "version" command

for parity with foreman.
honcho export --help: List format choices

Before:

    $ honcho export --help
    ...
      FORMAT                format in which to export

After:

    $ honcho export --help
      FORMAT                format to export to; one of upstart, supervisord
export: Reverse order of FORMAT and LOCATION args

to match foreman

    $ foreman help export | head -n 2
    Usage:
      foreman export FORMAT LOCATION

Fixes: GH-91
export: Don't require log directory to exist

`-l`/`--log` is the directory to place process logs in, so you should
only need this directory at runtime. The log directory shouldn't be
required to exist at export-time, because you might just export the
Procfile to a supervisord config and then use that exported config to
run processes on another box altogether.

[marca@marca-mac2 export_test]$ ls -l
total 8
-rw-r--r--+ 1 marca  staff  23 Nov 26 08:15 Procfile
[marca@marca-mac2 export_test]$ honcho export . supervisord
[marca@marca-mac2 export_test]$ ls -l
total 16
-rw-r--r--+ 1 marca  staff   23 Nov 26 08:15 Procfile
-rw-r--r--+ 1 marca  staff  354 Nov 26 11:15 export_test.conf

Fixes: GH-90
supervisord template: \n at end; not at beginning

It's a UNIX convention that text files should always end with a newline.
One of the best reasons for this is that it makes possible to do `cat
file1.txt file2.txt > combined.txt` and have the result make sense. For
more info:

http://stackoverflow.com/questions/729692/why-should-files-end-with-a-newline

I also modified the template slightly so it doesn't generate a blank
line at the beginning of the file. I don't think it does any harm, but I
think it looks slightly better without it.
Add logging to test_supervisord_concurrency

This turned out to be very useful when debugging test failures I was
getting while working on PR #96.

nosetests has built-in support for capturing log output and printing it
(pytest can also do this if you `pip install pytest-capturelog`).
Merge pull request #94 from msabramo/export_no_require_log_dir

export: Don't require log directory to exist
Merge pull request #97 from msabramo/test_export_supervisord__log_generated_contents

Add logging to test_supervisord_concurrency
Merge pull request #92 from msabramo/export_reverse_argument_order

export: Reverse order of FORMAT and LOCATION args
Merge pull request #89 from msabramo/export_help_list_format_choices

honcho export --help: List format choices
Merge pull request #96 from msabramo/supervisord_template_newline_at_end_not_at_beginning

supervisord template: \n at end; not at beginning
Merge pull request #87 from msabramo/add_version_command

Add "version" command
Add --pdb option; invokes pdb on exception

Useful for debugging. Looks like this:

    $ honcho export . supervisord  --pdb
    [Errno 13] Permission denied: '/var/log/export_test'
    Traceback (most recent call last):
      File "/Users/marca/dev/git-repos/honcho/honcho/command.py", line 253, in main
        COMMANDS[args.command](args)
      File "/Users/marca/dev/git-repos/honcho/honcho/command.py", line 106, in command_export
        export.export()
      File "/Users/marca/dev/git-repos/honcho/honcho/export/base.py", line 86, in export
        self._mkdir(self.options.log)
      File "/Users/marca/dev/git-repos/honcho/honcho/export/base.py", line 47, in _mkdir
        .format(directory))
    CommandError: Can not create /var/log/export_test
    > /Users/marca/dev/git-repos/honcho/honcho/export/base.py(47)_mkdir()
    -> .format(directory))
    (Pdb) directory
    '/var/log/export_test'
    (Pdb) bt
      /Users/marca/dev/git-repos/honcho/honcho/command.py(253)main()
    -> COMMANDS[args.command](args)
      /Users/marca/dev/git-repos/honcho/honcho/command.py(106)command_export()
    -> export.export()
      /Users/marca/dev/git-repos/honcho/honcho/export/base.py(86)export()
    -> self._mkdir(self.options.log)
    > /Users/marca/dev/git-repos/honcho/honcho/export/base.py(47)_mkdir()
    -> .format(directory))
    (Pdb)