[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`
`int|null` then. `void` is fine though. It means undefined, rather than `null`, which means people shouldn't rely on it, which is correct given the different implementations are inconsistent.