Adds support for selection of LaTeX compiler

This commit adds support for selection of LaTeX compiler, between LaTeX, pdfLaTeX, and XeLaTeX. It should be relatively trivial to add more compilers. 

Additionally a small bug is fixed wherein a LaTeX project has multiple subdirectories where data is stored (e.g., `/images/`, `/chapters/`) and those directories must be created in the temporary compilation directory for compilation to succeed. This is done with the `$copy_directory_tree_command` variable, the command for which was pulled from http://www.cyberciti.biz/faq/unix-linux-bsdosx-copying-directory-structures-trees-rsync/