doc: add documentation to all the public structs and enums

This makes them show up in the reference, even if the text itself isn't
the most descriptive.

These have been found with

    grep -Przon '\n\ntypedef struct.*?\{' -- include
    grep -Przon '\n\ntypedef enum.*?\{' -- include
Merge pull request #2748 from libgit2/cmn/doc-all

doc: add documentation to all the public structs and enums