HiveQueryTask automatically creates parent directory of output if it doesn't exist.

Previously, an INSERT OVERWRITE would fail if the parent directory didn't exist.
As part of this, I started working on a more generic file system abstraction for the local
file system in addition to the existing one for HDFS (HdfsClient)