Refactor similar method structure in dirs and files into one for re-use.

The only difference between the `dirs` and `files` methods was the argument used to call the internal `run` method inside both. To remove duplication from `Cask::Pkg`, we use *`Kernel#caller` to get the name of the method calling `fs_command` and pass it to the the argument. It's magical like :ramen: 

*compatible from 1.8.x to latest.