add support for setting the user, group, and mode on the extracted root directory

This pull request adds the ability to set a desired owner, group, and mode on the extracted root directory as well as allowing these permissions to be recursively set on all extracted files.