Add zvm megascript (feedback needed)

NOTE: This is a work in progress. I want to get some feedback on the general approach here before I spend too much time cleaning it up.

---

Addresses https://github.com/zerovm/zerovm-cli/issues/59.

This adds a `zvm` command line executable which simply glues `zpm` and
`zvsh` together into a single script, with a unified set of commands.

`zpm` subcommands are imported verbatim and can be run in the manner of
`zvm new`, `zvm bundle`, etc. `zvsh` command args have been placed
underneath the `zvm run` subcommand, but have otherwise not been
changed.
Constantine Peresypkin <notifications@github.com> writes:

>> +@commands.command
>> +@commands.arg(
>> +    'command',
>> +    help=('Zvsh command, can be:\n'
>> +          '- path to ZeroVM executable\n'
>> +          '- "gdb" (for running debugger)\n'),
>> +)
>
> Because of the stupid 79 character limit, you end up writing like
> this:
>
> ~~~~
> @commands.arg('command',
>               help='something '
>               'that can be '
>               'very long '
>               'very very '
>               'long')
> ~~~~

The arg decorator was never meant to be used outside the zpmlib.commands
module. So it was meant to be very short and actually take up much less
space than the parser.add_argument method it eventually calls.

Also, the idea was to define the commands in that module so that there
would be a single place to do for all command definitions. That design
seems to have been forgotten.

-- 
Martin Geisler

http://google.com/+MartinGeisler