initial new vmc client

Change-Id: Icb16e01b17adfcc6b0e1141ee7b10fa93a8eec8b
fix CI bot

* add dummy 'spec' task
* don't load bundler/gem_tasks if bundler is too old

Change-Id: I98bcc77473a20d3a53744de860f3b6e8fb10e589
move global flags to Command

Subcommands and anything else inheriting Command will now have these.

Change-Id: Ia504aa95134ef49f02d28af1db984cd6f8a5a389
add #verbose? method for -v/--verbose flag

Change-Id: Iaedb1b3a18a84be7fa582c201809ff98c0b1ee33
add -t flag for showing API traffic

Change-Id: I264374573fc3ac8f86deffbd617701e3b6c4338a
slight improvement to help/usage commands

* vmc help <subcommand> will show subcommand tasks
  * same as invoking subcommand with no args
* show subcommand names in their task listing
  * before it'd show "vmc create" rather than "vmc service create"

Change-Id: I39ffc987b3dc65cdb75cc1f75e34de8309285438
add --all flag to vmc logs

Change-Id: Ib82e97004810f548ebd9754ca8d35b4602442dfc
fix Ruby auto-expanding Array args in flag callbacks

Change-Id: Ie8f17ad2d426f39b23160ced9e6c033fe9477664
improved help dialogues

* the current help behavior:
  * vmc help - full listing
  * vmc help <subcommand> - list subcommand tasks (e.g. vmc help service)
  * vmc help <task> - show task description, usage, and flags
  * vmc <subcommand> help - same as vmc help <subcommand>
  * vmc <subcommand> help <task> - show task description, usage, and flags
* categorization of commands, help order determined by definition order
  * no complicated ordering trickery, just define them in the order we want
    them to be seen
  * this also ensures that plugins will appear near the bottom of command
    lists, making them easy to find
* vmc help will list all commands, categorized
  * this will probably be moved to help --verbose in the future, with normal
    help only listing the common commands

Change-Id: I04348f326bd4ebcd5d2c26d2f520020d0243d049
fix interactive default argument handling

* Ruby doesn't have a simple Proc -> Lambda, so this is necessarily dirty
* tried another solution, but it broke other things, so this is the more
  correct fix

Change-Id: I3d2d3c61c0315c8a6c4ed7bfbd828dd98573aece
bump cfoundry dependency; need 0.1.2 for --trace

Change-Id: I6ab209096c573f1f997f05c0ab2d9ce1e92e4d5a
bump manifests plugin dependency

Change-Id: I203ba9e8694dfd0fd3552959a01e6b9686a8cbf4
fix interactive default handling once more

* the previous fix caused interactions to be evaluated on different objects,
  thus breaking the rewind feature
* now works on ruby 1.8; previous fix used singleton_class

Change-Id: I33ae3c2bf30ca850dddb85d4c30c4a936e51f0ca
fix deleting single app

Change-Id: Ibeab52af2d0f7011aa11fa89b2515a47e0b0719b
fix runtimes/services flags looking non-boolean

Change-Id: Ia32e238b20f26855d3c8d8c6176a64b7263dc191
add info --frameworks, and error if not auth'd

Change-Id: I09f48dc8e192c4bd499fe055bc88705de5dd32a0
move apps command impl to CLI

* this fits alongside services, users, etc.

Change-Id: I5f4db4948ab840a75a6dec85c564e4bb46c13d67
move map/unmap to url subcommand

Change-Id: I39e87df201430fb0f96599382e51acf80527d730
hide less common commands from default help

* pass --all for all commands

Change-Id: I873b532b4b65a8baef9252de56cb83b7819fcb8c
refactor error signaling

* add UserError and NotAuthorized exceptions
* add 'fail' which raises UserError with the given message

Change-Id: I3eeac57611a2f930d8fc88d88608dafd608865a0