-STUFF I WANT TO CHANGE ABOUT STAGIT-
(might rename it to "statigit" also.)

[ ] Separate out stagit.c into clean, standalone modules.
    - but how to handle includes/headers...

[x] Redesign options / I/O

[x] create config.h file
    [x] reused document chunks (header, footer, logo, etc)
    [ ] nested (whether to show all files on files.html)
    [x] backlinks (whether to show .. in directories)
    [x] commit depth limit

---NEW FEATURES---
[x] include binary files in static site + link to them
[x] add support for projects with folders in them
[x] backlink on subdirectory pages
[x] add lines of code totals on files page
[x] add lines of code on each file's page
[x] show line/byte totals for each directory
[x] tweak paths that start with dots, so that they don't get hidden or 403'd
    - put parentheses around the dirnames in the urls
[x] while writing log, only print links to files whose pages exist
[x] add backlinks on files
[ ] handle trailing/leading slashes in -o and -b
---END NEW FEATURES---

[x] Incorporate index page into main.c
[x] Correctly link to repo pages from index page, based on configuration/baseurl
[ ] Separate repo page generation out of main.c
[ ] Remove globals / replace them with passed structs
[ ] Update man page

[ ] Redo caching, to minimally repeat work
  - but it needs to also not increase the complexity.
  - it's ok to duplicate storage
  - perhaps: save every reusable intermediate into a file.
             then, check for changes and reuse if valid.
