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.