Merge branch 'jk/fix-asan-issues' into pu

* branch jk/fix-asan-issues:
  Fix out-of-bounds memory accesses with virtual_root=""

Submitted to cgit@hjemli.net.
Merge branch 'jk/compat-timegm' into pu

* branch jk/compat-timegm:
  compat/timegm: new compat function for systems lacking timegm()
  Makefile: re-include cgit.conf in cgit.mk

Submitted to cgit@hjemli.net.
Merge branch 'jk/update-git' into pu

* branch jk/update-git:
  WIP - currently pointing at a random point on Git's maint branch

Waiting for the next maint release of Git.
Merge branch 'jk/use-git-test-framework' into pu

* branch jk/use-git-test-framework:
  tests: use Git's test framework

Submitted to cgit@hjemli.net.

Could use Sharness instead of Git's test framework.

Can have several tidy-ups built on top if there is agreement that this
is the right way to go.
Merge branch 'jk/portable-tests' into pu

* branch jk/portable-tests:
  t0107: use "-z" when asking tar to gunzip
  tests: sed -i is not portable

Currently dogfooding locally.
Merge branch 'jk/no-static-char-buf' into pu

* branch jk/no-static-char-buf:
  cgit.c: use struct strbuf instead of fmt()
  ui-tree.c: use struct strbuf instead of fmt()
  ui-tag.c: use struct strbuf for user-supplied data
  ui-summary.c: use struct strbuf instead of fixed-size buffers
  ui-snapshot: use a struct strbuf instead of fixed-size buffers
  ui-snapshot.c: tidy up memory management in write_archive_type
  ui-repolist.c: use struct strbuf for repository paths
  ui-refs.c: use struct strbuf instead of fixed-size buffers
  ui-plain.c: use struct strbuf instead of fmt()
  ui-log.c: use a strbuf for grep arguments
  ui-log.c: use a strbuf for refs
  scan-tree: use struct strbuf instead of static buffers
  Convert cgit_print_error to a variadic function
  html: introduce html_txtf and html_vtxtf functions
  cache.c: don't use statically sized buffers for filenames
  Remove redundant calls to fmt("%s", ...)
  Always #include corresponding .h in .c files

War on fixed size buffers.