Fix issues with progress objects

This addresses issue #38. Regressions unit tests to all pass as before with Python3.

Note that there are changes to the individual parsers. Specifically,

```if self.parser:
    self.updateprogress(inputfile, text)
```

has been replaced by

```self.updateprogress(inputfile, text)```

Is this reasonable? It reduces code slightly, but adds function call overhead, which should be very minor. If not, I can revert changes and set ```progress``` to ```None``` and check as before.

Python2 is temporarily broken.