Make the directory/file vals lazy so that they don't throw up errors in distributed framework

These vals are overriden in DistConfig.ExtractionConfig. These need to be lazy or else things like `if (! dir.exists) throw error("dir "+dir+" does not exist")` or File initialization errors can mess with the initialization of DistConfig (which prevent distributed extraction from starting).

This mainly occurs if a path like `hdfs:///somepath/somefile` is given to `base-dir` in spark-config.properties, and the `base-dir` in the general config.properties is omitted, or set to `hdfs:///somepath/somefile`.