Completes milestone 3: Single united DistConfig class instead of two; Support for parallel multiple language extraction

`DistConfig` wraps a `Config` instance and handles the logic required for selecting which properties should come from which files. Also, `ConfigLoader` is not extended anymore by `DistConfigLoader`, `ExecutionJob` is not extended anymore by `DistExecutionJob` - the inheritance was adding increasingly needless trouble.

This pretty much concludes milestone3. Support for parallel extraction of multiple languages have been added. It can be further improved after we add the OutputFormat for parallel output writing. But I'll focus on (A) adding compressed file input support to XmlInputFormat and (B) parallel download + streaming extraction before I worry about `OutputFormat`s. Sounds good?