Command autoloading feature

This PR actually mix with 3 stuffs.

  - Command autoloading feature
  - A bug fix when throwing an ExecuteMethodNotDefinedException
  - make ProgramName of an Application be its sufficient part of $argv[0] only

I can re-organize it if you want.
In ``ZshCompletionCommand::execute()``
```php
    global $argv;
    $programName = $this->options->program ?: $argv[0];
```
So far it's fine, however I agree it's better to avoid global variable.