[5.0] Reintroduce ServiceProvider::when(), which allow registering/loading service provider only when events is fired.

Signed-off-by: crynobone <crynobone@gmail.com>
[5.0] Properly set request instance for console

While most of the time "url" is not needed on artisan command, you might still use it when using queue to send email (password resets etc), or include illuminate/html which currently break all artisan command.

Signed-off-by: crynobone <crynobone@gmail.com>
Merge pull request #6179 from crynobone/feature/when-service

[5.0] Reintroduce ServiceProvider::when(), which allow registering/loading service provider only when events is fired.
Merge pull request #6216 from crynobone/patch/request-for-console

[5.0] Bugfix to properly set request instance for console
Work on calling commands from Kernel.
Add ability to get the output form the last command.
Add lastOutput property.
Tweak logic in Artisan method.
Change artisan facade accessor.
Remove unneeded class.