add basic cli

- hits spider, but doesn’t do much with it
- add max hits to protect bugs in early code
add option to load pages out of previously saved cache

probably won’t be that much of a hit with extra db call
properly default values in cli
clean up style.

- use self[] over options[] (and hide options)
- pull out various components in workflow
- rubocop minor comments
max pages visits pages until max (vs fail fast)

- add contexts to spider tests
- refactor expect_visit_page
fetch pages until the max is hit
cli - require fields and help

split up methods to make them shorter
cli - component specs