[5.0] Extracted Contracts

Extracted Database, View, Validation, Translation and Queue contracts.

Fixed some typos along the way

Only ones remaining are:
* `Illuminate\Routing\Annotations\EndpointInterface`
* `Illuminate\Routing\Matching\ValidatorInterface`
Should be just `array` actually. I prefer what's there, but Laravel's code style always uses `array`. Could you change it to that please.