fix typo
revise/enhance data model

make it possible for multiple versions of pages via page_version &
page_version_report. (thinking about tracking reports across page
versions.)

also abstract out reports to report_type.
add more pseudocode details

match feature description.
add .gitignore

first candidate: node_modules dir