Respect the users cache.path settings if present

This pull request changes the implementation of `render()` to check if a user has already configured the `cache.path` used by knitr. In case the user has done so, the value is left as it is. In other words, `knitr_cache_dir(...)` is not called.

I changed the implementation to make `rmarkdown` more suitable for batch processing. One of my requirements is to have a central cache directory that I can automatically clean up regularly to ensure it does not grow past a certain size. With cache directories all over the filesystem, this task is significantly more complicated.

I hope you accept the pull request as it does not change the behavior of `rmarkdown` but merely makes it aware of a user-defined settings.