Updated pull to return child process object

Hi - I've updated my changes to add an option 'unixshell' for setting the shell used to run rsync (the 'shell' option already exists), and split the change to return the child process object into a separate commit.  The default 'unixshell' is still /bin/sh.

I've also included changes to the README.md to document the new options.