Add shell passenger to execute shell scripts

Add a passenger which simply executes scripts. Fixes #57 and #58.

Thanks to @bitboxer for the help with the unit test! :+1: 
Yes, but it does not have to be a path. It can even be a shell command (see spec). If `script` refers to a file. That file has to be executable otherwise execution will fail (permission denied). Some people may be crazy enough to execute a script directly from a foreign repository to install some stuff.

I think this approach is pretty flexible. Do you think it needs some constraints/checks (isFile && isExecutable)?