make JobConfExternalConstructor call .addInputPath() on any InputFormat class that supports it

+ minor refactoring. everything tested locally and on YARN