Don't build docs on pushes to maint branches; those docs should only be
built _on release_. In addition, be safer about not creating an existing
branch from a tracking branch.
Ensure that workflows where the main branch exists (eg, anything except
PR workflows) don't try to recreate the main branch. Add a concurrency
token so that we don't have conflicts generating documentation.
libgit2 has a new documentation generator that generates API schema from
our headers, then produces reference documentation that is included into
the website directly.