Change working directory before exec

You can now change the working directory that a program will be executed
in.  Instead of adding more parameters to the cork_subprocess_new_exec
function, we now have a separate cork_exec type.  Its constructor takes
in the `program` and `params` parameters.  You must set any other
properties by calling setting functions.  You can execute the cork_exec
program directly in the current process by calling the cork_exec
function.  Like the `exec(3)` family of functions, cork_exec never
returns (unless there's an error starting the program).  The
cork_subprocess_new_exec function translates the cork_exec instance into
a cork_subprocess, which will start the program in a separate
subprocess.