Extensions install now supports pecl and github repository

`phpbrew ext install` now support extension that hosting at pecl or github.com.

Now you can install extension from github.com using `https://github.com/<owner>/<repo>` or `git@github.com:<owner>/<repo>.git` url.

Install phalcon by phpbrew:
```
phpbrew ext install https://github.com/phalcon/cphalcon
```
or
```
phpbrew ext install git@github.com:phalcon/cphalcon.git
```

By default , `phpbrew ext install <extname>` will install extension from pecl.php.net except you using URL as extension name.

So you can register github project with shortcut name to `assets/github-extensions.json` , 
ex: 
```
 "phalcon": {
        "desc": "Phalcon is a web framework implemented as a C extension",
        "url": "https://github.com/phalcon/cphalcon"
    }
```
NOW, we can install phalcon by `phpbrew ext install phalcon` just like normal pecl extension .


And new `phpbrew ext known` command let you query available version of extension, that support pecl and github.com 's tags.

for example:
`phpbrew ext known xdebug` will output like bellow:
```
[==================================================================] 1.74/1.74KB 100%


2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.2.0RC2, 2.2.0RC1, 2.1.4,
2.1.3, 2.1.2, 2.1.1, 2.1.1RC1, 2.1.0, 2.1.0RC1, 2.1.0beta3, 2.1.0beta2,
2.1.0beta1, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0RC4, 2.0.0RC3,
2.0.0RC2, 2.0.0RC1, 2.0.0beta6, 2.0.0beta5, 2.0.0beta4, 2.0.0beta3, 2.0.0beta2,
2.0.0beta1, 1.3.2, 1.3.1, 1.3.0, 1.3.0rc2, 1.3.0rc1, 1.2.0
```

`phpbrew ext known phalcon` will output like bellow:
```
[==================================================================] 8.41/8.41KB 100%


phalcon-v1.3.4, phalcon-v1.3.3, phalcon-v1.3.2, phalcon-v1.3.1, phalcon-v1.3.0,
phalcon-v1.2.6, phalcon-v1.2.5, phalcon-v1.2.4, phalcon-v1.2.3, phalcon-v1.2.2,
phalcon-v1.2.1, phalcon-v1.2.0, phalcon-v1.1.0, phalcon-v1.0.1, phalcon-v1.0.0,
phalcon-v0.9.0, phalcon-v0.8.0, phalcon-v0.7.0, phalcon-v0.6.1, phalcon-v0.5.3,
phalcon-v0.4.5
```

Signed-off-by: Rack Lin <racklin@gmail.com>
Add type hint `GetOptionKit\OptionResult` here