Update UnderFileSystemHdfs class to throw IOException instead of Throwables.propagate(te)

Per discussion in ML, update UnderFileSystemHdfs class to throw IOException as is instead of wrapping it as runtime.

This will follow the abstract method definitions that could throw IOException instead.
This falls into the `Option` way of looking at this.  `Some(List())` can imply different things than `None`.  Currently null is undefined in the docs, so we will need to define for this method what null means.  If listStatus can return null (what does hadoop say about this call?) then we probably want to respect that.

Since this doesn't relate to the patch.  Might be best to revert it now and file a design jira on this topic.