[6.x]  Create storage fakes with custom configuration (#29999)
[6.x]  Create storage fakes with custom configuration (#29999)

* Create storage fakes with custom configuration

Currently when a storage disk is faked, we are creating a local disk with the default configuration.

If the developers want to use a custom configuration or reuse the configuration they have in their `filesystems.php` file, there is no easy way to achieve this.

This commit allows us to pass optional configuration as a second parameter:

```php
Storage::fake('documents', ['visibility' => 'private']);
```

This change is totally backwars-compatible, but in the future it would be convenient to fetch the actual configuration of the given disk (maybe in Laravel 7.x?).

* Return correct types for the storage fakes

* Use static keyword instead of self in Storage facade

All the facades in the framework are using the `static` keyword instead of `self`, so the Storage facade should behave the same way.

samlev/framework,vlakoff/framework,notebowl/laravel-framework,ChristopheB/framework,mul14/laravel-framework,arturock/framework,jerguslejko/framework,leo108/laravel_framework,JamesForks/framework,dwightwatson/framework,mul14/laravel-framework,halaei/framework,crynobone/framework,laravel/framework,tomschlick/framework,stidges/framework,stidges/framework,arturock/framework,leo108/laravel_framework,stevebauman/framework,tjbp/framework,laravel/framework,mul14/laravel-framework,arturock/framework,ChristopheB/framework,cybercog/framework,cybercog/framework,samlev/framework,stidges/framework,vlakoff/framework,JamesForks/framework,driesvints/framework,halaei/framework,stidges/framework,lucasmichot/framework,tjbp/framework,cybercog/framework,hafezdivandari/framework,jerguslejko/framework,morrislaptop/framework,jerguslejko/framework,JosephSilber/framework,bytestream/framework,lucasmichot/framework,jerguslejko/framework,vlakoff/framework,bytestream/framework,halaei/framework,stevebauman/framework,driesvints/framework,notebowl/laravel-framework,hafezdivandari/framework,tjbp/framework,ChristopheB/framework,dwightwatson/framework,JosephSilber/framework,mul14/laravel-framework,crynobone/framework,tomschlick/framework,morrislaptop/framework,tomschlick/framework