[DWRF] getRecordWriter backward compatible with RCFile

Summary:
getRecordWriter now checks if the work output path is set in the conf and prepends this to the output path if it is.

this, combined with the change earlier to get the filesystem from this same path, make it backward compatible with the way users are calling the same method on RCFile.

Test Plan: Added a test case to make sure it works, had a user verify it works for their use case.
[DWRF] Try flushing before closing

Summary:
We've seen a couple instances where the ORC file reader fails to parse the post script of a file (i.e. the last n bytes of the file).

So far I've been entirely unable to reproduce it.  This is my best guess for the cause (if we weren't flushing the last few bytes it would make the postscript invalid).

The HDFS team assures me this won't do anything, so worst case it has no effect.

RC file and Sequence file both call flush, so let's see if this has any effect.

Test Plan: ptests pass.
[DWRF] make struct fields case insensitive

Summary:
RC file treats struct field names as case insensitive strings

Using the same technique to achieve the same in DWRF (changing to lower case)

Test Plan:
added test cases to demonstrate

running ptests