Fix incomplete PHPDoc comments, add missing @covers and such
- Fix all incomplete @param.
- Use generic "Generator" type hints because this is all the callers need to know.
- Add @covers to all tests.
- Have at least the most basic @license header in all files.
- I'm also adding a few newlines in places where I believe it improves readability, e.g. between @param and @return.