Rewrite read-csvs to be less fussy about missing data

Also modernize it
Modernized many modules, and added debugging stuff.

I suspect it's not working but don't yet know why or what.
Separate gui and non-gui stuff ...

... so that I can do some testing from the command line
Less spew
Ensure that the keys of *data-by-number* really are integers
join: look for the right struct
Hide the progress bar when we're done fiddling.
Rename keys.ss => keys.rkt; restore actual side-effecty stuff
whop-record!: use a keyword for clarity
Nix downloaded-photos-caches
Fix args to authorize-url
Add some debugging
Use "display" and "newline" instead of "fprintf", just because.
fix call to "apply flickr.photos.search", and ...

... make *user-id* a plain value as opposed to a procedure
Correct subtle drift:

The defintion of "match" seems to have changed, and also the returned
token structure can omit the "fullname"
Nix lotsa CSV files