[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`
Yes. Laravel internals always alias a contract when it's imported.