First commit. Updating freebsd db works, cygwin db almost works. Querying db's works. No real UI.
Refactor and smarten up updater. Prepend file format signature to db files.
First cut of whichpkg(1) manual page
Bugfix: max() would fail if command list empty
Cygwin fetch_distfiles() now parses setup.ini, halving the number of HTML files that need to be scraped
Bugfix: if a HTTP file fetch failed (e.g. 404), we didn't read() the response so further file fetches from the same HTTPConnection object categorically failed. Also improved HTTP traffic reporting on stderr while at it.
First cut of -d option and default database autodetection based on OS
Refactor: use new-style classes
Refactor: rename from reporter to output
Smarten up architecture using reflection. Add output formats none,names,missing,json,install. Sort output better. Refator a little.
Bugfix: I had re-introduced that 'max() on empty list' error while refactoring. Ugh! Fixed a second time.
Fix a null-related subtlety in JSON output, add comment about that.