Make Status extend StatusValue and start FileBackend update
- This avoids code duplication.
- Callers can safely start type-hinting StatusValue as well.
- Also moved the wrap() logic out of Status::__construct(), which only wrap() was (and should have been) using. Use "static" as well, so subclass behave properly.
- The docs and type-hints in /filebackend are updated as an example.
- A migration pattern is to inject a StatusValue wrapper into the backend and use it on all returned statuses, so MediaWiki will still get Status for message methods.