Scraper and mapper now support multiple years; refactored map.js

Years are stored in separate CSV files, which now have the year appended
to their filename.

Lots of structural changes to map.js. No functional ones yet, but adding
year controls should now be a simple matter.