ProgressListener: clean

* Add IProgress base class.
* Rename ProgressListener to ConsoleProgress.
* Add NoProgress.
* Rename ProgressListener.hpp to progress.hpp