Generalize progress updates being reported

- Pave the way for providing multiple ways to notify progress.
- Change some method signatures to be more descriptive.
Update gitignore to hide dotsettings files