Have Build and Rebuild commands exit with status

This patch changes the Build and Rebuild commands to return the ExitCode returned by the run command back to the main hakyllWith function which then uses it to call exitWith. This will result in the status being returned to the shell so shell tools can use it to decide whether the build was successful.

It's probably not the best way to implement this, since I'm very new to Haskell, and the Check command calls exitWith deeper in the call stack, and I can change this to work that way too, but I'd also like to see how this looks as well.

Thank you