Update route helper to match URL::route

This updates the `route` helper to accept the same arguments as the function it calls.
Added unit test for __construct method of MessageBag class.
Remove Illuminate\Events\Subscriber as it was only used during pre-4.0

Signed-off-by: crynobone <crynobone@gmail.com>
Fix an error in Collection->random()

Fix an error on random() if called on an empty collection. Returns null instead.
Dockblock fix
Change syntax of empty check in Collection->random()
Add test to collection->random() when collection is empty
Set index name of morph relation

The index name auto generated index name can become long and with this method it can be overridden
fine, a one liner then.

;)
Extract getClassName method

Make it easier to customize the migration naming schema.
Extract registerCreator method

Make it easier to register a custom creator.
Conditionally set logger and queue on mailer

Possible since https://github.com/laravel/framework/pull/4648
Remove unecessary use
array cast is too early
Merge pull request #5523 from lucasmichot/4.2-validation-getrules

[4.2] Validation : array cast happens too early
Merge pull request #5522 from lucasmichot/4.3-use

[4.2] Remove unecessary use
Merge pull request #5513 from alprs/fix/mailer-conditional-set

Conditionally set logger and queue on mailer
Extract method.
Merge branch '4.2'
Merge pull request #5512 from alprs/fix/extract-register-creator

Extract registerCreator method