Use zf-console

Rewrites the application to use `zf-console`, allowing cleaner separation of concerns.

`Deploy` is now solely worried about creating the deployment package, and options
related to that activiity.

`SelfUpdate` handles the self-updating phar functionality.

Routes are defined that do filtering and validation, and provide comprehensive
help for the commands and available options.

Essentially, this commit changes the command structure to:

- `zfdeploy help`
- `zfdeploy help <command>`
- `zfdeploy --version` or `zfdeploy -v`
- `zfdeploy build <package> [--target=] [--modules=] [--vendor|-v]:vendor [--composer=] [--gitignore=] [--deploymentxml=] [--zpkdata=] [--version=]`
- `zfdeploy self-update`

Usage and help messages are now built-in. All functionality is equivalent to the previous version, with the exception of the command option names.