Clean failure task and message utils
Add abstract pipeline module implementation

Move logger handling to a common abstract class.
Fix map serialization bug in job configuration

Since the job configuration format doesn't support file keys, the
internal storage must be a string.
Move job configuration reading to module invoker
Merge branch 'develop' of github.com:dita-ot/dita-ot into develop