Moves small helper functions to helper module
Updates gitignore
Extracts Parser's query managing logic into a Query class
Adds an --async option to the fetch command
Adds helpers module
Implements retry strategy for session collision on server
Adds retry to all detail page request
Moves retrying requests behaviour to Sender object
Adds --max-retries option to fetch command
Catches and logs broken unparseable documents
Fixes error when reaching last index page and adds specs
Avoids finishing the program with pending queued requests