style improvements

Rewrote code in accordance with "Write like a Pythonista".
Also some API standardization across parser types
use timedeltas instead of seconds for duration