Separate R runtime from the server executable

We discussed this with @hmansell and this is probably the most reasonable setup.
The original code worked, but had an unfortunate consequence that the generated
code and the type provider referenced an assembly compiled as executable - which
is confusing. So, this splits the R provider into 4 assemblies - I'll add more
documentation in the next commit.
Add developer notes and refactor assembly resolution

This adds a single page to the documentation which explains how
the different parts of the project are structured and why. I also
updated the template (to match with F# Data, Deedle etc.) and updated
to the latest version of the tools.

I did one minor refactoring, which moves the duplicated code to
setup assembly resolution (and I unified the part that look for
already loaded assemblies and the part that searches NuGet folders)