Adds an `ExpectedFormat` interface a tag handler may opt into to advertise the syntax it expects together with a link to its canonical documentation. When `StandardTagFactory` falls back to `InvalidTag` because the handler rejected the body, it forwards those hints through the new `InvalidTag::withFormatHint()` method so downstream tooling (for example phpDocumentor's error reports) can surface a helpful explanation instead of only the raw exception. `Author` implements the interface as a first example since its lack of description support is a common source of confusion (see phpDocumentor/phpDocumentor#3378).
Fixes phpDocumentor#346
Adds an ExpectedFormat interface a tag handler may opt into to advertise the syntax it expects together with a link to its canonical documentation. When StandardTagFactory falls back to InvalidTag because the handler rejected the body, it forwards those hints through the new InvalidTag::withFormatHint() method so downstream tooling (for example phpDocumentor's error reports) can surface a helpful explanation instead of only the raw exception.
Author implements the interface as a first example, since its lack of description support is a common source of confusion (see phpDocumentor/phpDocumentor#3378).
Purely additive: new interface, new methods on InvalidTag, no changes to existing public contracts.
Fixes #346