Added an option to set the unix shell used to launch rsync
Return child process object from execute
Change replacement shell config option to executableShell
Merge pull request #27 from mw-white/execreturn2

Use configurable shell for command execution and return child process on execution.
Use correct tests directory
Automatically escape arguments when necessary

This fixes some issues that I ran into when using `node-rsync` on a project.

Firstly, `npm test` doesn't run because the `test` directory is actually named
`tests`. I renamed it back to `test` since it is mocha's default.

Second, there is a typo in `buildOption()` for a parameter that is never used
in the code. I got rid of the parameter since it is currently causing every
value passed into `buildOption()` to be escaped.

Finally, I looked at `escapeShellArg()` since I was having issues with source
paths that contained spaces causing the rsync command to fail. Rather than
escaping every path, I modified `escapeShellArg` to determine whether the
argument needed to be escaped. I was able to safely apply this logic to the
values in `buildOption()`, source paths, and the destination. I also updated
the test since the behavior changed a bit.